我有一個自動篩選範圍的工作表,它以單元格B3
開頭。列A
包含一些宏按鈕,但實際上是空白的。前兩行包含有關主範圍內數據的信息。VBA LastRow計算不起作用
在VBA中,我使用了我認爲是確定一個工作表中的最後一排的標準方法(在這種情況下,我不能靠.End
方法對單個列):
LastRow = Activesheet.Cells.Find("*",SearchOrder:=xlByRows,SearchDirection:=xlPrevious).Row
然而,有時這會返回值1,即使我有數千行數據。它似乎只有在設置了過濾器的情況下才會執行此操作(但仍然有可見的行中包含數據),但即使這樣也不會總是發生,並且我無法看到它的模式。
我知道有其他的解決方案 - 我已經改變爲UsedRange
技術代替,但它是非常令人沮喪的是,因爲它本來是一個最有效的在這種情況下,這個特殊的一個失敗。
有誰知道爲什麼會發生這種情況?
我發現Find方法有時候很奇怪。你有沒有試過在你的'Find'調用中指定'Lookin:= xlValues'(或者是否所有的公式都切換到'xlFormulas')? – CuberChase 2013-03-13 06:45:34