Skip to main content

基础 数据类型


'获取当前excel所有工作表名字 写在当前活动的工作表中
Sub 动态数组()

Dim arr(), i As Integer

x = Sheets.Count

ReDim arr(1 To x)

For i = 1 To x

arr(i) = Sheets(i).Name
Range("A" & i).Value = arr(i)

Next i

End Sub
Sub 动态数组其他示例()

Dim arr() As String
ReDim arr(1 To 3)
arr(1) = "苹果"
arr(2) = "香蕉"
arr(3) = "橘子"

' 输出拼接的字符串
MsgBox Join(arr, ", ") ' 显示 "苹果, 香蕉, 橘子"

' 动态扩容
ReDim Preserve arr(1 To 4)
arr(4) = "葡萄"

' 遍历打印(用 MsgBox 弹出)
Dim i As Integer
For i = LBound(arr) To UBound(arr)
MsgBox arr(i)
Next i

End Sub
Sub 二维数组()

Dim arr(1 To 2, 1 To 3) As Variant

arr(1, 1) = "V"
arr(1, 2) = "B"
arr(1, 3) = "A"
arr(2, 1) = "编程"
arr(2, 2) = "基础"
arr(2, 3) = "概览"

Range("A1:C2").Value = arr

End Sub

Type1

Type2

功能VBA 写法举例说明
定义动态数组Dim arr(): Dim arr() As 类型动态大小,后续用 ReDim 设置大小
调整大小ReDim arr(1 To n)改变大小,清空原数据
保留数据调整大小ReDim Preserve arr(1 To n)改变大小,保留原数据
取最大索引UBound(arr)返回上界索引
取最小索引LBound(arr)返回下界索引
转字符串Join(arr, ",")拼接字符串数组
拆字符串arr = Split("a,b,c", ",")拆成字符串数组
遍历数组For i = LBound(arr) To UBound(arr)遍历数组