• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAで検索結果セル位置抽出時、実行時エラーが出ます。)

エクセルVBAで検索結果セル位置抽出時、実行時エラーが出ます。

このQ&Aのポイント
  • エクセルVBAで検索結果のセル位置を抽出する際に、実行時エラーが発生しています。
  • マクロを組んで検索結果のセル位置を抽出する作業を行っていますが、途中で「アプリケーション定義またはオブジェクト定義のエラーです」というエラーメッセージが表示されます。
  • エラーが発生している箇所は、検索されたセルの行番号を取得する部分です。何が原因でエラーが発生しているのか、ご教授いただけますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

#1です。 Set cell = Sheets("NameList").Columns("A:A").Find(what:=hn, lookat:=xlWhole, MatchCase:=True, matchbyte:=True) line = Sheets("NameList").Range(cell).Row この2行を下の6行にしてみて下さい。 Set cell = Sheets("NameList").Columns("A:A").Find(what:=hn, lookat:=xlWhole, MatchCase:=True, matchbyte:=True) If cell Is Nothing Then   MsgBox hn & "は見つかりません"   Exit Sub End If line = cell.Row 恐らく「見つかりません」メッセージが出ると思いますが如何ですか? Findは見つからない場合にNothingを返します。 変数 cell に発見した range が Set されないままでは当然 「オブジェクト変数またはwithブロック変数が設定されていない」 と言うエラーが出ます。 各シートにどんなデータが入っているか解らないので、これ以上は検証出来ませんけど。

-Kirin-
質問者

お礼

ありがとうございました。 MsgBoxのお陰で原因がNameListにあることが判明しました! お陰で、マクロ完成しました。ありがとうございました!!!

その他の回答 (2)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3

#1です。 推測だけで書換えてみました。 シートの状況が解らないので上手く動く保障はありません。 試すならテスト環境で。 Sub Test() Dim log_lastrow As Long, i As Long, myCell As Range Dim all As String, hn As String log_lastrow = Worksheets("log").Range("A65536").End(xlUp).Row For i = 1 To log_lastrow   all = Worksheets("log").Cells(i, 1).Value   hn = Mid(all, InStr(all, "<"), (InStr(all, ">") - 2))   Set myCell = Worksheets("NameList").Columns(1).Find _          (what:=hn, lookat:=xlWhole, MatchCase:=True, matchbyte:=True)   If Not myCell Is Nothing Then     Worksheets("edit").Cells(i, 1).Value = myCell.Offset(0, 1).Value     Worksheets("edit").Cells(i, 2).Value = Right(all, Len(all) - InStr(all, ">"))   Else     Worksheets("edit").Cells(i, 1).Value = Null     Worksheets("edit").Cells(i, 2).Value = Null   End If Next i End Sub

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

通読してませんが、cell as range ですから、  line = Sheets("NameList").Range(cell.address).Row または  line = cell.Row にしたらどうなります?

-Kirin-
質問者

お礼

早速のご回答ありがとうございます。 残念ながら、いずれも、 「オブジェクト変数またはwithブロック変数が設定されていない」 と出ます。よろしくご教授願います。