3.8.2 比较运算符
Is 比较两个对象的引用变量|| 对象1 Is 对象2 || 当对象1和对象2引用相同的对象时返回True,否则返回False
Like 比较两个字符串是否匹配 || 字符串1 Like 字符串2 || 当字符串1与字符串2匹配时返回True,否则返回False
Range("A1") >= 500
Range("B2") Like "陈*"
"*"是通配符,代替任意多个字符
"?" 代替任意的单个字符
"#" 代替任意单个数字
[A-Z] 代替位于charlist中的任意一个字符
[!H-J] 代替不在charlist中的任意一个字符
3.8.4 逻辑运算符
And 逻辑"与"
Or 逻辑"或"
Not 逻辑"非"
Xor 逻辑"异或"
Eqv 逻辑"等价"
Imp 逻辑"蕴含"
3.10.3 使用Select Case语句解决“多选一”的问题
Sub Test()
Select Case Range("B2").Value
Case Is >= 90
Range("C2").Value = "优秀"
Case Is >= 80
Range("C2").Value = "良好"
Case Is >= 60
Range("C2").Value = "及格"
Case Else
Range("C2").Value = "不及格"
End Select
End Sub
3.10.4 用For...Next语句循环执行同一段代码
Sub ShtAdd()
'在活动工作表前插入一张新工作表,新插入的工作表即为活动工作表
Worksheets.Add
End Sub
Sub ShtAdd()
'定义一个Byte类型的变量,名称为i
Dim i As Byte
For i = 1 To 5 Step 1
'在活动工作表前插入一张新工作表
Worksheets.Add
Next i
End Sub
使用Exit For终止For循环
Sub Test()
Dim i As Byte '定义一个Byte类型的变量,名称为i
For i = 2 To 11 Step 1 '用For语句定义循环次数
Select Case Range("B" & i).Value 'B列第i行的成绩是要评定等次的成绩
Case Is >= 90
Range("C" & i).Value = "优秀" '成绩达到90时要执行的代码
Case Is >= 80
Range("C" & i).Value = "良好" '成绩达到80时要执行的代码
Case Is >= 60
Range("C" & i).Value = "及格" '成绩达到60时要执行的代码
Case Else
Range("C" & i).Value = "不及格" '成绩是其他情况时要执行的代码
End Select 'Select语句到此结束
Next i 'For语句到此结束
End Sub
3.10.5 用For Each...Next语句循环处理集合或数组中的成员
Sub ShtName()
Dim sht As Worksheet, i As Integer '定义两个变量,其中sht是Worksheet(工作表)类型
i = 1 '第1次写入工作表名称的是A1单元格,所以变量值定义为1
For Each sht In Worksheets '循环语句开始
Range("A" & i) = sht.Name '将工作表名称写入A列第i行的单元格
i = i + 1 '让变量i的值增加1,以便下次能将工作表名写入其他单元格中
Next sht '循环语句结束
End Sub
问题:将1-100写入A1-A100中
Sub RN()
Dim c As Range, i As Integer
i = 1
For Each c In RANGE("A1:A100")
c.Value = i
i = i + 1
Next c
End Sub
3.10.6 用Do语句按条件控制循环
Sub ShtAdd_01()
Dim i As Byte '定义一个Byte类型的变量,名称为i
i = 1 '给变量i赋值
Do While i <= 5 '当变量i小于或等于5时执行循环体
Worksheets.Add '在活动工作表前插入一张新工作表
i = i + 1 '每执行一次循环体,变量i的值就增加1
Loop 'Do语句结束的标志
End Sub
Sub ShtAdd_02()
Dim i As Byte '定义一个Byte类型的变量,名称为i
i = 1 '给变量i赋值
Do 'Do语句开始
If i > 5 Then Exit Do '如果变量i的值大于5,那么终止循环
Worksheets.Add '在活动工作表前插入一张新工作表
i = i + 1 '每执行一次循环体,变量i的值就增加1
Loop 'Do语句结束的标志
End Sub
Sub ShtAdd_03()
Dim i As Byte '定义一个Byte类型的变量,名称为i
i = 1 '给变量i赋值
Do 'Do语句开始
Worksheets.Add '在活动工作表前插入一张新工作表
i = i + 1 '每执行一次循环体,变量i的值就增加1
Loop While i <= 5 '如果变量i小于或等于5,那返回Do语句开始处再执行一次循环体
End Sub
3.10.7 使用GoTo语句让程序转到另一条语句去执行
Sub Sum_Test()
Dim mysum As Long, i As Integer '定义两个变量
i = 1 '变量i的初始值为1
x: mysum = mysum + i '将变量mysum的值与变量i的值相加,并将结果重新赋给变量mysum
i = i + 1 '变量i的值在原值的基础上增加1
If i <= 100 Then GoTo x '如果i小于或等于100,跳转到x标签处
MsgBox "1到100的自然数和是:" & mysum '用对话框显示变量mysum的值
End Sub
3.10.8 With语句简写代码离不开它
Sub FontSet_02()
With Worksheets("Sheet1").Range("A1").Font '开始With语句,定义要设置的对象
.Name = "仿宋" '设置字体仿宁
.Size = 12 '设置字号为12号
.Bold = True '设置字体为加粗字体
.ColorIndex = 3 '设置字体颜色为红色
End With 'With语句到这里结束
End Sub
3.11.2 Sub过程的基本结构
Sub hong()
RANGE("A1:A8").Select
SELECTION.COPY
RANGE("C1").Select
ACTIVESHEET.PASTE
END Sub
Excel VBA 基础语法
最新推荐文章于 2023-10-11 17:55:27 发布