基础 数据类型
'获取当前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
功能 | 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) | 遍历数组 |