用vba代码写一个读取excel文件,并将每一列数据写入一个数组的程序
时间: 2024-05-07 15:20:30 浏览: 125
VBA EXCEL编程
以下是一个简单的 VBA 代码示例,用于读取 Excel 文件并将每一列数据写入一个数组中:
```
Sub ReadExcelFile()
Dim myArray() As Variant
Dim lastRow As Long
Dim lastCol As Long
Dim i As Long
Dim j As Long
'Open the workbook
Dim myWorkbook As Workbook
Set myWorkbook = Workbooks.Open("C:\path\to\my\file.xlsx")
'Set the worksheet
Dim myWorksheet As Worksheet
Set myWorksheet = myWorkbook.Worksheets("Sheet1")
'Find the last row and column with data
lastRow = myWorksheet.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
lastCol = myWorksheet.Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
'Resize the array to hold the data
ReDim myArray(1 To lastRow, 1 To lastCol)
'Loop through the data and store it in the array
For i = 1 To lastRow
For j = 1 To lastCol
myArray(i, j) = myWorksheet.Cells(i, j).Value
Next j
Next i
'Close the workbook
myWorkbook.Close
'Print the array to the Immediate Window
For i = 1 To lastRow
For j = 1 To lastCol
Debug.Print myArray(i, j)
Next j
Next i
End Sub
```
在这个例子中,我们首先打开 Excel 文件并选择要读取的工作表。然后,我们使用 `Find` 函数找到最后一行和最后一列的数据,并使用 `ReDim` 函数调整数组的大小。最后,我们循环遍历每一行和每一列的数据,并将其存储在数组中。最后,我们使用 `Debug.Print` 将数组打印到即时窗口中。
请注意,这只是一个简单的示例代码,仅适用于读取基本数据类型。如果你需要读取其他类型的数据(如日期或布尔值),你需要使用适当的数据类型和转换函数来处理这些数据。
阅读全文