1.数据类型
'-------------------------------------------------------------------
'1.VBA中的常见数据类型:
' 类型 注释 简写 占用内存
' Integer 整型 % 2Byte
' Single 单精度 ! 4Byte
' Double 双精度 # 8Byte
' Long 长整型 & 4Byte
' String 字符型 $ 定长或变长( 变长字符串最多可包含大约 20 亿 ( 2^31)个字符。 定长字符串可包含 1 到大约 64K ( 2^16 ) 个字符。)
' Currency 货币型 @ 8Byte
'--------------------------------------------------------------------
Sub 数据类型()
Dim a As Integer
Dim b%
End Sub
Sub 多数据类型声明()
Dim a As Integer, b As Single, c As String
Dim d%, e!, f$
End Sub
这只是VB中一个String的的不同用法在内存中的表示。VB中字符串可以是“定长”和“不定长”二种。“定长”是Dim s As String * 40 (比如,那么就是10+40=50),字符串长度不可变化。
“变长”直接就是:Dim s As String。串的长度直接是字符的个数(最多可以定义达到2G个字符的长度),且在这个范围之内,字符串长度可以随时发生变化。
2.if判断
'VBA中的IF条件判断语句,就像函数中的IF一样
'IF可单条件,也可多条件。
Sub IF条件判断之单条件1()
Dim a%, b%
a = 2
b = 2
If a = b Then MsgBox "相等"
End Sub
Sub IF条件判断之单条件2()
Dim a%, b%
a = 2
b = 2
If a = b Then
MsgBox "相等"
End If
End Sub
Sub IF条件判断之单条件3()
Dim a%, b%
a = 2
b = 2
If a = b Then
MsgBox "相等"
Else
MsgBox "不相等"
End If
End Sub
Sub IF条件判断之多条件等级划分()
If Sheet1.Range("b1") >= 90 Then
Sheet1.Range("b2") = "优秀"
ElseIf Sheet1.Range("b1") >= 80 Then
Sheet1.Range("b2") = "良好"
ElseIf Sheet1.Range("b1") >= 70 Then
Sheet1.Range("b2") = "中等"
Else
Sheet1.Range("b2") = "较差"
End If
End Sub
'VBA中的IIF函数与工作表函数(IF)的语法结一致
Sub IIF函数应用()
Cells(2, 3) = IIf(Cells(1, 2) > 80, "优秀", "不优秀")
End Sub
'
' 1.单行形式1(If...Then)
' If 条件判断 Then 条件成立结果
' 注意 在单行形式中,按照 If...Then 判断的结果也可以执行多条语句。
' 所有语句必须在同一行上并且以冒号分开。
' 例子:
Sub test()
If 1 > 10 Then a = a + 1: b = 1 + a: c = 1 + b
End Sub
' 2. 单行形式1(If 条件判断 Then 条件成立 Else 条件不成立)
' 例子:
Sub test2()
If 1 > 1 Then MsgBox "yes" Else MsgBox "no"
End Sub
'
' 3.块形式(If...Then…End)
' If 条件判断 Then
' 条件成立结果
' End If
' 例子:
Sub test3()
If 11 > 10 Then
a = 1 + a
b = 1 + a
c = 1 + b
End If
End Sub
'
'
' 4.块形式的If嵌套
' If 条件判断 Then
' 成立时的结果
' ElseIf 条件判断 Then
' 成立时的结果
' ……
' Else
' 不成立时的结果
' End If
' 例子:
' Sub 等级判断()
' If Sheet1.Range("b1") >= 90 Then
' Sheet1.Range("b2") = "优"
' ElseIf Sheet1.Range("b1") >= 80 Then
' Sheet1.Range("b2") = "良"
' ElseIf Sheet1.Range("b1") >= 70 Then
' Sheet1.Range("b2") = "中"
' Else
' Sheet1.Range("b2") = "差"
' End If
' End Sub
'