在Excel中,如何在多个工作表中找到最后一行数据?

时间:2013-11-22 15:36:26

标签: excel vba excel-vba

我使用这种查找最后一行数据的方法,这种特殊方法适用于我的目的:

Range("A" & Rows.Count).End(xlUp).Row

我还制作了一个表单按钮,链接到一个名为Button1_Click()的宏。单击此按钮,我想获得存储在变量LastRow1,LastRow2和LastRow3中的3个Excel工作表的最后一行数据。所以假设我有3张纸,Sheet1的最后一行数据是5,Sheet2是13,Sheet3是84,LastRow1应该等于5,LastRow2应该等于13,LastRow3应该等于84。

Sub Button1_Click()
       LastRow1 = LastRow
End Sub

Function LastRow() As Long
       Range("A" & Rows.Count).End(xlUp).Row
End Function

我不知道如何将Sheet1的名称“传递”到LastRow函数中并让它向后吐出最后一行,以便我可以将行号分配给变量LastRow1,LastRow2和LastRow3。

1 个答案:

答案 0 :(得分:1)

将工作表名称作为参数传递给LastRow()函数,然后使用工作表名称构造范围。注意A的感叹号前面。

Function LastRow(sheet as String) As Long
   LastRow = Range(sheet & "!A" & Rows.Count).End(xlUp).Row
End Function

然后您的Button1_Click()例程变为

Sub Button1_Click()
   LastRow1 = LastRow("Sheet1")
   LastRow2 = LastRow("Sheet2")
   LastRow3 = LastRow("Sheet3")
End Sub