返回列表 上一主題 發帖

[發問] 如何處理用FIND時出現的ERROR91?

[發問] 如何處理用FIND時出現的ERROR91?

Name Amount
A     11
A     12
A     13
B     13
B     11
B     14
D     18

現在我在寫一個小程式去整理資料,而過程中我需要知道某一項資料最後出現的位置,例如:
last = x.columns(1).Find(CELL_FIND(I), SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

如果CELL_FIND(I) ="B", last =6

find這個很好,很容易找到第一次出現和最後出現的位置。但我發現,如果當COLUMN A沒有CELL_FIND包含的資料,例如:"C",
系統就會出現error 91, 沒有設定物件變數或WITH區域變數

由於我無法在尋找前就知道那些KEYWORD是在目標區域沒有,所以我無法回避這個問題。請問各位,可以如何解決呢?
或者有沒有另外方法去找出資料的第一次出現和最後出現的位置?謝謝

試了版主的方法,真的可行,謝謝你!

TOP

本帖最後由 小俠客 於 2012-8-2 16:34 編輯
回復  小俠客

Dim a as range
    set a= x.columns(1).Find(CELL_FIND(I), SearchOrder:=xlByRows, S ...
Hsieh 發表於 2012-8-2 11:53



Hsieh大大,我有一個疑問,假設我在A1:A10 的值都是「陳大文」

用FIND 來找出第一個出現陳大文的位置:

Dim a As Range
    Set a = Columns(1).Find("陳大文", SearchOrder:=xlByRows, SearchDirection:=xlFirst)

我希望 a.row= 1,但EXCEL回給我的是2,請問是為什麼?有方法修正嗎?
P.S. 我不想直接減1,因為這樣做會影響程式的其他部份,謝謝

TOP

        靜思自在 : 人事的艱難與琢磨,就是一種考驗。
返回列表 上一主題