「REQM」(引用符なし) の列を検索し、見つかったセルの範囲を d に設定する検索を実行しようとしています。次に、データを入力する場所を見つける別のサブ関数を呼び出します。私のFindEntryAreaサブ関数は正常に機能し、最初の検索はうまく機能しますが、次を見つけようとすると正しく機能しません。
Sub FindLoop()
Dim re as Range
Set re = Sheets(1).Range("T:T")
With re
Set d = .Find("REQM", LookIn:=xlFormulas, LookAt:=xlWhole)
MsgBox (d.Row)
Call FindEntryArea
Do
Set d = .FindNext(d)
MsgBox (d.Row)
Call FindEntryArea
Loop While Not d Is Nothing
End With
End Sub
エラーを把握しようとして、msgbox を使用して見つかった範囲の行を出力しました。これは最初のセルでは正常に機能しましたが、findnext では機能しませんでした。オブジェクト変数を取得するか、ブロック変数が設定されていません。私はVBAを初めて使用し、findnextを使用するのはこれが初めてなので、ガイダンスをいただければ幸いです。また、re は私の範囲であり、その範囲内にあるはずの他のセルがたくさんあります。
ありがとう。
編集:
メインコードとfindloop
Public re As Range
Public d As variant
Sub MainCode()
Dim r as Range
Set re = Worksheets("Summary all PIIDB").Range("T:T")
Set r = Worksheets("Summary all PIIDB")
With r
Call FindLoop
End With
End Sub
Sub FindLoop()
With re
Set d = .Find("REQM", LookIn:=xlFormulas, LookAt:=xlWhole)
MsgBox (d.Row)
'Call FindEntryArea
Set d = .FindNext(d)
MsgBox (d.Row)
'Call FindEntryArea
End With
End Sub
findnext を最初に機能させるためだけにループを削除しましたが、まだ苦労しています。