いくつかの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