2.深入解析数据类型与变量——《Excel VBA 程序开发自学宝典》
2.1 数据类型
| 数据类型 | 所占字节 | 
| Byte | 1 | 
| Boolean | 2 | 
| Integer | 2 | 
| Long | 4 | 
| Single | 4 | 
| Double | 8 | 
| Currency | 8 | 
| Decimal | 14 | 
| Date | 8 | 
| Object | 4 | 
| String | 10 | 
| Variant | 16 | 
实例
Sub test()
Dim sums as long, cell as range, I as integer, mystr as string
For each cell in range(“A1:A10”)
If vba.isnumeric(cell) then sums = sums + cell else mystr = mystr & cell
If cell = “” then I = I +1
Next cell
Debug.print “A1:A10中有空白单元格” & I &”个”
Debug.print “A1:A10中数据和为:” ; sums
Debug.print “A1:A10中文本为:” ; mystr
End sub
2.2 数据类型转换
| 函数 | 返回类型 | 
| Cbool | Boolean | 
| Cbyte | Byte | 
| Ccur | Currency | 
| Cdate | Date | 
| cbdl | double | 
| Cdec | Decimal | 
| Cint | Integer | 
| Clng | Long | 
| Csng | Single | 
| Cstr | String | 
| cvar | variant | 
实例:
Sub 类型转换()
Dim funds as double
Funds = 80.42454
Msgbox “类型:” & typename(funds) & “值:” & funds ‘typename()用于识别数据类型
Msgbox “类型:” & typename(cbool(funds)) & “值:” & cbool(funds)
Msgbox “类型:” & typename(cbyte(funds)) & “值:” &cbyte( funds)
End sub
2.3 变量
实例:
Sub 显示用户名()
User_name = application.inputbox(“请输入您的姓名” , “姓名”,,,,,,2)
Msgbox user_name
End sub
Dim temp as byte ‘在sub之前dim,此变量为模块级变量,或者用public申明
Sub a()
Temp = 10
Msgbox temp
End sub
Sub b()
Temp = temp + 10
Msgbox temp
End sub
Sub a()
Dim temp = as byte ‘在sub内dim,两个sub内的变量不相关,为过程级别变量
Temp = 10
Msgbox temp
End sub
Sub b()
Dim temp as byte
Temp = 20
Temp = temp + 10
Msgbox temp
End sub
Let A = 10 ‘对非对象变量赋值
Set A = range(“A10”) ‘对单元格对象赋值
Set A = [A10]
Sub 设置A10的字体()
Activeworkbook.sheets(“sheet2”).range(“A10”).font.name = “黑体”
Activeworkbook.sheets(“sheet2”).range(“A10”).font.colorindex= 3
Activeworkbook.sheets(“sheet2”).range(“A10”).interior.colorindex = 5
End sub
Sub 设置A10的字体二()
Dim rng as range
Set rng = activeworkbook.sheets(“sheet2”).range(“A10”)
Rng.font.name = “黑体” ‘设置单元格对象后,程序简化很多而且提升效率
Rng.font.colorindex = 3
Rng.interior.colorindex = 5
End sub
