我有这样的功能:自定义功能
Function GetLastRowOnSheet(ByVal SheetName As Worksheet) As Long
On Error Resume Next
GetLastRowOnSheet = SheetName.Cells.Find(what:="*", after:=SheetName.Cells(1), searchorder:=xlByRows, searchdirection:=xlPrevious).Row
On Error GoTo 0
End Function
可以说我有一个名为“工作表Sheet1”工作表,在我的excel表,我想能够说= GetLastRowOnSheet(“工作表Sheet”)或用上面的功能,以及包括该一个子例程或函数在VBA容易地使用一个命名范围
我可以这样做:
Dim Sheet1 As Worksheet
Dim LastRow as Long
Set Sheet1 = ThisWorkbook.Sheets("Sheet1")
LastRow = GetLastRowOnSheet(Sheet1)
' last row then returns the last filled in cell on the sheet
想法?
真棒感谢Jook – ebbflowgo
不错的更新,我所遇到的唯一的另一件事是,该公式不会页面重新计算后复位......不知道为什么,这可能是 – ebbflowgo
这是因为,如果你使用'SheetYX!A1',然后excel不会得到有改变,直到你改变A1。所以使用'SheetXY!A:IV',它会对任何变化做出反应。 – Jook