vba把二维数组新建的excel表格中
时间: 2024-10-12 07:15:28 浏览: 50
在VBA (Visual Basic for Applications) 中,你可以使用 `Range` 对象或 `Sheet` 对象结合 `Offset` 和 `Resize` 函数来创建一个新的二维数组并将其插入到Excel工作表中。以下是一个简单的步骤说明:
1. 首先,你需要引用 `Microsoft Excel Object Library` 库。在VBA编辑器里,点击 "Tools" -> "References",然后找到并选中它。
2. 定义一个动态数组变量,比如 `Dim myArray(,) As Variant`。`Variant` 类型可以存储不同类型的数据,适合存储未预先确定大小的二维数据。
3. 创建二维数组:
```vba
Sub CreateAndPopulateArray()
Dim numRows As Long, numCols As Long
' 例如你想有5行4列
numRows = 5
numCols = 4
' 新建二维数组,并设置值
ReDim myArray(numRows - 1, numCols - 1)
' 假设我们填充一些示例数据
For i = 0 To numRows - 1
For j = 0 To numCols - 1
myArray(i, j) = i * numCols + j + 1
Next j
Next i
' 将数组写入新的Excel工作表
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) ' 添加新工作表
ws.Range("A1").Resize(numRows, numCols) = Application.Transpose(myArray) ' 转置数组后写入A1单元格
End Sub
```
运行此代码后,将在当前工作簿的最后一张工作表上创建一个5x4的二维数组。
阅读全文