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

相关推荐