在宏

时间:2017-10-05 17:08:27

标签: excel vba excel-vba

我正在努力在VBA中编写一个函数,它将工作表名称和列作为参数,并返回该工作表的该列中最后使用的行号。

我使用了以下代码:

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

但它返回了错误的值......比如104567

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

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:1)

解释:该数字实际上是1,048,576 - 工作表的底部。这意味着列中没有非空单元格" E:E" braX 提供的解决方案是一种标准和非常好的处理方法。如果您想按名称指定列,可以执行以下操作:

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