Excel VBA代码:读取F列最后一行非空行并写入数组
使用Excel VBA代码读取F列最后一行非空行并写入数组
本文将提供使用Excel VBA代码读取Excel文件F列的最后一行非空行行号,并将该行号定义为变量i,然后将F列所有单元格内容写入数组的示例代码。
代码示例
Sub ReadColumnF()
Dim wb As Workbook
Dim ws As Worksheet
Dim lastRow As Long
Dim dataArr() As Variant
Dim i As Long
' 打开Excel文件
Set wb = Workbooks.Open('C:\路径\文件名.xls')
' 假设要操作的是第一个工作表
Set ws = wb.Worksheets(1)
' 删除第一行到第八行
ws.Rows('1:8').Delete
' 获取F列的最后一行非空行行号
lastRow = ws.Cells(ws.Rows.Count, "F").End(xlUp).Row
' 将最后一行非空行行号赋给变量i
i = lastRow
' 将F列的所有单元格内容值写入数组
dataArr = ws.Range("F1:F" & lastRow).Value
' 打印数组中的内容(仅供参考)
For i = LBound(dataArr) To UBound(dataArr)
Debug.Print dataArr(i, 1)
Next i
' 关闭Excel文件
wb.Close SaveChanges:=False
End Sub
代码解释
Sub ReadColumnF():定义一个名为ReadColumnF的子过程。Dim wb As Workbook:声明一个名为wb的变量,用于存储打开的Excel工作簿。Dim ws As Worksheet:声明一个名为ws的变量,用于存储要操作的工作表。Dim lastRow As Long:声明一个名为lastRow的变量,用于存储F列最后一行非空行行号。Dim dataArr() As Variant:声明一个名为dataArr的数组变量,用于存储F列的所有单元格内容值。Dim i As Long:声明一个名为i的变量,用于循环遍历数组。Set wb = Workbooks.Open('C:\路径\文件名.xls'):打开名为文件名.xls的Excel文件,文件路径为C:\路径\。Set ws = wb.Worksheets(1):设置ws变量为工作簿的第一个工作表。ws.Rows('1:8').Delete:删除工作表中第一行到第八行。lastRow = ws.Cells(ws.Rows.Count, "F").End(xlUp).Row:获取F列的最后一行非空行行号,并将结果存储到lastRow变量中。i = lastRow:将lastRow变量的值赋给i变量。dataArr = ws.Range("F1:F" & lastRow).Value:将F列从第一行到最后一行非空行(lastRow)的所有单元格内容值写入到dataArr数组中。For i = LBound(dataArr) To UBound(dataArr):循环遍历dataArr数组中的所有元素。Debug.Print dataArr(i, 1):打印数组中的当前元素值到立即窗口。wb.Close SaveChanges:=False:关闭Excel文件,不保存任何修改。
注意
- 将代码中的
'C:\路径\文件名.xls'替换为您实际的Excel文件路径和文件名。 - 为了运行该代码,您需要在Excel中启用开发人员选项卡并打开Visual Basic编辑器。
希望这能帮到您!
原文地址: http://www.cveoy.top/t/topic/ozB 著作权归作者所有。请勿转载和采集!