1、VBA中常用的条件语句是If...Then...Else...语句。这条语句的语法如下:If condition Then[statements][ElseIf condition-n Then[elseifstatements]...[Else[elsestatements]]End Ifcondition是输入要检测的条件。如果条件检测的结果是True,将执行在Then之后的语句。如果希望检测第二个条件,可以向If语句中添加一条或者多条ElseIf从句。VBA首先检测If后的条件,如果检测的结果是False,VBA将检测ElseIf从句后的条件,并重复检测,直至某个条件检测的结果为True。如果所有条件检测的结果都是False,VBA将执行End If语句,除非具有Else从句。如果If语句中所有条件检测的结果都是False,那么将执行可选的Else从句后的语句。
2、1)在excel中新建工作表,对应位置填写如下内容,其中B6输入公式“=B3*B4”。2)在VB编辑器中建立名为Shipping的过程,将下面的代码复制到过程中。在工作表中插入按钮,链接新建的过程Shipping,将按钮名称更改为Shipping。Dim iResponse As IntegeriResponse=MsgBox("Doesthissaleneedtobeshipped?",vbYesNo)If iResponse=vbYes ThenRange(“B4”).Value=10ElseRange("B4").Value=0End If3)点击按钮,提示是否需要发运,如果需要发运,B4中会自动填入运费,B6中会自动计算出合计运费。
3、当可需要对某一参数进行多范围判断,使用Select case语句,在多重选择的情况下,Select Case更易于阅读。SelectCase语句的语法如下:Select Case testexpression[Case expressionlist-n[statements-n]]...[Case Else[elsestatements]]End SelectSelect case后面的语句是待检验语句,从上到下与case后面的表达式比较,如果满足条件则执行case下面的语句。Case后面的语句当用逗号将两个数值分开时,隐含实现了“Or”选择。
4、下面是一个根据发运地点确定运费的例子:'Select Case to determine shipping cost.1.Select Case State2.Case "NewYork"3.cShipping=5.004.Case "Georgia","SouthCarolina","Ohio"5.cShipping=4.006.Case “Florida”,“Texas”7.cShipping=3.008.Case "Alabama","Washington","California","Illinois"9.cShipping=2.0010.Case Else11.cShipping=1.0012.EndSelect要使用比较运算符,需要使用Is或者To关键字。Is关键字用来将希望进行比较的检测表达式和Is关键字后列出的表达式进行比较。而To关键字定义一个范围内的数值,如“case 69 to 80“。
5、可以利用条件逻辑调用excel内置对话框,在VB编辑器中输入如下代码:Public Sub savenow()Dim iResponse As IntegeriResponse=MsgBox("Do you wish to save your work?",vbYesNo)If iResponse=vbYesThenApplication.Dialogs(xlDialogSaveAs).ShowEnd IfEnd Sub在excel工作表中增加按钮,链接宏“savenow”,点击按钮会提示另存为对话框,如果想显示其他内置对话框,可以将xlDialogSaveAs替换为替他参数,相关参数可以在excel帮助中输入“XlBuiltInDialog“查看。