學習一些VBA。到目前爲止,我已經構建這段代碼應該讓我(雖然它沒有,還)做以下的事情:對象變量或變量未設置
- 獲取在
"M" & i
細胞的數量(在第一次迭代是M5 )。 - 在A列中找到該號碼。
- 一旦找到它,請將
PutHereIfFound
的值設置爲與F6的值相同(因此爲偏移量)。 - 如果找到一個數字,然後遞增i,以便循環繼續搜索M6,M7,...直到單元格M20。
它返回Run-Time Error 91
,其代表Object Variable or With Variable not set
。當我調試時,它指向Set PuthereIfFound
行。
這個錯誤的原因是什麼?
Sub FindThis()
Dim FindThis As Range
Dim PutHereIfFound As Range
Dim i As Integer
Dim f As Integer
i = 5
f = 5
Do
Set FindThis = ActiveSheet.Range("M" & i)
Set PutHereIfFound = ActiveSheet.Range("N" & i)
With ActiveSheet.Range("A:A")
Set PutHereIfFound = .Find(What:=FindThis, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False).Offset(0, 5)
If Not PutHereIfFound Is Nothing Then
i = i + 1
Else
i = i
End If
End With
Loop While i <= 20
End Sub
可能有更好的方法來做到這一點。一旦你從'F'得到了值,你想做什麼? –
好吧 - 把它們放到PutHereIfFound中,這是循環第一次迭代中的N5。 – speci
好的,如果我明白你想用Col F值填充COL N,如果找到匹配的話? –