我有這樣的功能:自定義功能
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