【VBA编程】06.控制语句

【IF...THEN...语句】

If condition Then

[statements1]

else

[statements2]

end if

condition 为一个逻辑表达式,表示做选择时需要判别的条件,其结果为布尔类型,当其值为真时,执行statements1语句,为假是则执行ELSE中statements2语句

【代码区域】

Private Sub 测试if()
 Dim age As Integer
 age = InputBox("请输入年龄", "输入年龄窗口")
 If (age >= 18) Then
    MsgBox "已经成年", vbOKOnly, "判断结果"
 Else
    MsgBox "未成年", vbOKOnly, "判断结果"
 End If
End Sub

【IF嵌套语句】

IF condition Then

[statements1]

[Elseif condition2 then statements2]

[Elseif condition3 then statements3]

...

[Elseif conditionN then statementsN]

Else statements

End if

【代码区域】

Private Sub 测试if嵌套()
 Dim age As Integer
 age = InputBox("请输入年龄", "输入年龄窗口")
 If (age <= 6) Then
    MsgBox "童年", vbOKOnly, "判断结果"
 ElseIf (6 < age And age <= 17) Then
    MsgBox "少年", vbOKOnly, "判断结果"
 ElseIf (17 < age And age <= 40) Then
    MsgBox "青年", vbOKOnly, "判断结果"
 ElseIf (41 < age And age <= 65) Then
    MsgBox "中年", vbOKOnly, "判断结果"
 Else
    MsgBox "老年", vbOKOnly, "判断结果"
 End If
End Sub

【Select Case语句】

Select Case testexpression

[Case expressionlist - n]

[statements-n]...

[Case Else

[elsestatements]]

End Select

【代码区域】

Private Sub case测试()
Dim age As Integer
age = InputBox("请输入年龄", "输入年龄窗口")
Select Case age
    Case 0 To 6
    MsgBox "童年", vbOKOnly, "判断结果"
    Case 6 To 17
    MsgBox "少年", vbOKOnly, "判断结果"
    Case 17 To 40
    MsgBox "青年", vbOKOnly, "判断结果"
    Case 40 To 65
    MsgBox "中年", vbOKOnly, "判断结果"
    Case Else
    End Select
End Sub

【Tips】

在Select Case中需要注意上下界问题,例如:"Case 0 to 6"表示6>=age>0

时间: 2024-11-06 13:57:43

【VBA编程】06.控制语句的相关文章

Excel中的VBA编程

目的:有时我们需要对Excel文件中大量的数据进行整理,此时如果使用手动整理会非常繁琐而且容易出错.而如果采用VBA语言,在Excel中根据需求编写一段简单的代码就能自动完成大量数据的整理工作. 1.以Excel 2007为例,如果要进行VBA编程,需要启用"开发工具" 选项.在Excel 选项对话框中勾选[在功能区显示"开发工具"选项卡]复选框. 在开发工具选项中点击"查看代码",打开Microsoft Visual Basic界面. 2.在M

VBA编程的工程性规划

看过很多人写的VBA代码,一团一团的,一点规划都没有,为了VBA编程更具工程性,这里讨论一下,并列出自己的一些建议:0.给VBA工程定义一个名字,而非直接使用默认的名称--"VBAProject",以方便以后可能要进行的跨VBA工程编码1.定义一个命名为"O"的标准模块[拼音中"O"字母的读音,意指"我"这个字],用于定义所有的全局对象,管理本工程的代码与数据,主要API:    [1]About(Optional ShowD

【转】VBA编程入门(二)

详解VBA编程是什么 由 vietdung90 创建,最后一次修改 2016-10-19 直到 90 年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),可以认为 VBA 是非常流行的应用程序开发语言V

VBA编程常用语句

1.Option Explicit '强制对模块内所有变量进行声明 Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Option Compare Text '字符串不区分大小写 Option Base 1 '指定数组的第一个下标为 1 2.On Error Resume Next '忽略错误继续执行 VBA代码,避免出现错误消息 3.On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置 4.On

【VBA编程】14.操作工作簿对象

[访问工作簿] 对已经打开的工作簿,可以通过使用索引号来访问工作簿,也可以通过名称来访问工作簿 [代码区域] Sub 访问工作簿() Dim counter As Integer counter = Workbooks.Count Debug.Print Debug.Print "当前打开工作簿的数目为:" & CStr(counter) Debug.Print "按索引号访问工作簿如下:" Debug.Print "第一个工作簿是:"

excel vba编程,是在一段表格中插入几行后,插入行后的行整体下移,不破坏原有数据内容,

Range(Rows(3), Rows(5)).Insert shift:=xlDown 1)在当前单元格处插入一行 : 可以增加循环语句来实现插入多行Range("A10").SelectSelection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove 2)在当前选择行处插入与选择行数相同的行数: 可更改行号来实现不同地方的插入. Rows("10:11").Select Selection.Inse

地铁沉降观测数据分析之巧用VBA编程处理

当你观测了一天累的要死了,回来看着成百上千的测量数据,还要做报表.如果是三五页报表还好说,如果是2000个点的报表 按照一页纸张报30个点就得大约70页的报表.作为苦逼的测量员,而且更苦逼的是没有沉降数据处理分析软件的测量员,而且更更苦逼的有沉降数据处理分析软件的但是不配套当地监理要求的报表格式的测量员,是否只能人工去做这么多的日报表呢?想想还有周报,和月报吧!!!多恐怖啊!作为一个过来人,谨将自己的体验和VBA提出来让大家探讨.时间紧凑,没有多审阅文章.有错误的话请提出来改正代码.附件请练习九

[C++11 并发编程] 06 Mutex race condition

上一节中介绍了mutex的基本使用方法,使用mutex来保护共享数据并不能解决race condition带来的问题,假如我们有一个堆栈数据结构类似于std::stack它提供了5个基本操作push(),pop(),top(),empty(),和size().这里的top()操作返回栈顶元素的拷贝,这样我们就可以使用一个mutex来保护栈内部的数据.但是race codition情况下,虽然使用mutex在stack的每个接口内都对共享数据进行了保护,仍然有问题存在. #include <deq

【VBA编程】11.Application对象

Application对象常用属性[ActiveCell属性]ActiveCell属性返回一个Range对象,表示当前窗口或指定窗口中的单元格.如果窗口没显示工作表,则此属性无效.[代码区域] Sub 激活单元格() Worksheets("sheet1").Activate '激活当前单元格 With ActiveCell .Value = "娑娜" With .Font .Bold = True '设置为粗体 .Italic = True '设置为斜体 .Siz