Activesheet
从删除空白单元格后如何重新计算最后一行,Activesheet
以便我将获得一个新的 lastRow 变量作为我的最大限制?我的数据来自网络查询。
例子:
- 数据来源:http ://en.wikipedia.org/wiki/Polar_bear
- 导入后的行数:1360
- 删除空白单元格后的行数:650
但是ActiveSheet
没有刷新,lastRow 没有更新到 650,我希望这些更新
Activesheet
从删除空白单元格后如何重新计算最后一行,Activesheet
以便我将获得一个新的 lastRow 变量作为我的最大限制?我的数据来自网络查询。
例子:
但是ActiveSheet
没有刷新,lastRow 没有更新到 650,我希望这些更新
由于这是为 Excel 编写 VBA 时的常见要求,因此您可能希望编写一个可以在其他项目中重用的函数。这是一个例子:
Function get_end_row(ByVal column_with_data As Long) As Long
Dim last_row As Long
last_row = ThisWorkbook.ActiveSheet.Rows.Count
get_end_row = ThisWorkbook.ActiveSheet.Cells(last_row, column_with_data).End(xlUp).Row
''Note: in the line of code above you can replace xlUp with its hexidecimal value -> &HFFFFEFBE
''This will ensure the function works in other versions of Excel
End Function
下面是如何调用函数的示例:
Sub my_routine()
Dim endRow As Long
''The 1 being passed in the argument below is the first column number that your data is in
endRow = get_end_row(1)
Msgbox endRow
End Sub
在您的情况下,请确保在删除行后调用 get_end_row() 函数。