优秀的编程知识分享平台

网站首页 > 技术文章 正文

咕吧陪你学:excel VBA中的枚举enum以及数组你了解吗?速上车!

nanyue 2024-08-06 18:08:54 技术文章 4 ℃

今天我们继续excel VBA的数据类型讲解

了解其结构以及赋值

在然后VBA的编程中大有帮助

9、枚举型

格式:Public 或 Private Enum 变量名

成员1 [= 常数表达式1]

成员2 [= 常数表达式2]

……

End Enum

示例:Public Enum names

马云 = 0

马化腾 = 2

李彦宏 = 3

雷军 = 5

周鸿祎 = 6

End Enum

Function h(ByVal a As names)

h = a

End Function

Sub name()

MsgBox h(周鸿祎)

End Sub

注释: ByVal(按值传递)

ByRef(按地址传递)

枚举型通过标签去调用标签的值

10、一维数组

格式:Dim 数组名(a to b) As 数据类型

其中:a为起始顺序数,b为终了顺序数 b-a就是元素间隔数。当然a、b也是可以省略的

获取数组最小下标LBound(数组名)

获取数组最大下标UBound(数组名)

数组赋值 数组名=array(元素1,元素2,……)

示例:sub 关注咕吧()

dim aa()as variant

aa=array(1,2,3,4,5)

debug.print aa(0)

end sub

提示:数组要直接赋值的一定得定义成变量型数据variant或者不声明 只是dim aa 否则出错 不能继续

11、多维数组

格式:数组名(行数,列数)(二维数组)

格式:数组名(行数、列数、深数)(三维数组)

sub 来关注()

arr = [{"1","A";"2","B";"3","C"}]

debug.print arr(1, 2)

end sub

注释:二维数组直接赋值方法就是前面不能出现dim来定义 也不能用array来赋值 否则就报错

数组的赋值可以从单元格来读取

如何读取单元格的内容来给数组赋值呢?

Sub 关注赋值()

Dim arr As Variant

Dim a

arr = Range("A1:A6")

arr1 = Range("A1:B6")'默认的赋值是二维数组的,因为单元格的格式为Cells(行号,列号)

a = Application.WorksheetFunction.Transpose(arr)'调用excel转置函数变成一维数组,如不转就arr(从1开始的顺序号,1)

Debug.Print a(5)

Debug.Print arr1(1, 2)

End Sub

注意:数组的赋值,直接赋值动态数组顺序号从0开始到n-1,如指定起始号如 a(10 to 20)就按实际来

如用单元格赋值,顺序号从1开始到n

由于字典的操作方法比较多 故放在下期介绍 敬请期待!

怎么样?都会了吗?

赶紧练练手吧

简单 有料 明了 不晕菜就在咕吧课堂

能看到就是缘分 关注咕吧课堂

错过了,我到哪里去寻你?

学好 做好 活好

下期精彩继续 回见

Tags:

最近发表
标签列表