使用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编辑器。

希望这能帮到您!

Excel VBA代码:读取F列最后一行非空行并写入数组

原文地址: http://www.cveoy.top/t/topic/ozB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录