在macros中查找特定工作表中列的行数

我正在努力在VBA中写入一个函数,该函数以表名和列为参数,并返回该表中该列的最后一个使用的行号。

我使用了下面的代码:

Worksheet("sheetname").Range("e2").End(xlDown).Row 

但它返回错误的值,如104567

请为我提供代码,以查找特定工作表的特定列中的行数。

代码中的1是你想要检查的列。 您可以将ActiveSheet更改为任何其他有效的工作表对象。

 lLastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row 

解释:数字实际上是1,048,576 – 工作表的底部。 这意味着在第2行下方的列“E:E”中不存在非空单元格。由braX提供的解决scheme是一种标准的处理方法。 如果你想按名称来指定列,你可以这样做:

 Worksheet("sheetname").Range("e" & Worksheet("sheetname").Rows.Count).End(xlUp).Row