Excel VBA 質問スレッド №788 (解決済)
Findメソッドのオブジェクトエラーについて
投稿者 : だいき 投稿日時 : 2022/06/08(Wed) 16:06:30 OS : Windows 10 EXCEL : Excel 2021
このwhatの部分に変数を用いて、検索ワードを順にやっていきたいのですが、
エラーが出てしまいます。
初心者であまりよくわかってないのですが、ご教授お願いします。
このwhatの部分に変数を用いて、検索ワードを順にやっていきたいのですが、
エラーが出てしまいます。
初心者であまりよくわかってないのですが、ご教授お願いします。
Sub 入金額実査() Dim i Dim rngHitCell As Range Dim rngSearchArea As Range For i = 7 To 201 Set rngSearchArea = Worksheets("売上表").Range("F7:F122") Set rngHitCell = rngSearchArea.Find(what:=keyword, LookIn:=xlValues) Dim strAddress As String Dim intRowNo As String Dim intColNo As String strAddress = rngHitCell.Address(RowAbsolute:=False, ColumnAbsolute:=False) intRowNo = rngHitCell.Row intColNo = rngHitCell.Column Worksheets("データ").Cells(i, 4) = Worksheets("売上表").Cells(intRowNo, 2) Next End Sub
スポンサーリンク
[返信 1] Re : Findメソッドのオブジェクトエラーについて
投稿者 : busu 投稿日時 : 2022/06/08(Wed) 16:30:44
何を検索すればいいのか解りません。エラーですね。
何を検索すればいいのか解りません。エラーですね。
[返信 2] Re : Findメソッドのオブジェクトエラーについて
投稿者 : 目がテン 投稿日時 : 2022/06/08(Wed) 16:38:41
keyword ?
Dimでも定義されていないし、どこから参照するのでしょうか ?
keyword ?
Dimでも定義されていないし、どこから参照するのでしょうか ?
[返信 3] Re : Findメソッドのオブジェクトエラーについて
投稿者 : てらてら 投稿日時 : 2022/06/09(Thu) 06:49:33
こんにちは。
勝手に作ってみました。
参考にしてください。
こんにちは。
勝手に作ってみました。
参考にしてください。
Sub 入金額実査() Dim i As Long, j As Long, c As Long Dim mykeywords() mykeywords = Array("山田", "高橋", "田中") 'keywordをセット c = 1 For i = 0 To 2 For j = 7 To 201 If mykeywords(i) = Worksheets("売上表").Cells(j, "F") Then Worksheets("データ").Cells(c, 4) = Worksheets("売上表").Cells(j, 2) Worksheets("データ").Cells(c, 5) = mykeywords(i) c = c + 1 End If Next j Next i End Sub
[返信 4] Re : Findメソッドのオブジェクトエラーについて
投稿者 : だいき 投稿日時 : 2022/06/09(Thu) 09:36:07
すみません、抜けがありました。
すみません、抜けがありました。
Sub 入金額実査() Dim i Dim rngHitCell As Range Dim rngSearchArea As Range Dim keyWord As String For i = 7 To 201 keyWord = Worksheets("データ").Cells(i, 7) Set rngSearchArea = Worksheets("売上表").Range("F7:F122") Set rngHitCell = rngSearchArea.Find(what:=keyWord, LookIn:=xlValues) Dim strAddress As String Dim intRowNo As String Dim intColNo As String strAddress = rngHitCell.Address(RowAbsolute:=False, ColumnAbsolute:=False) intRowNo = rngHitCell.Row intColNo = rngHitCell.Column Worksheets("データ").Cells(i, 4) = Worksheets("売上表").Cells(intRowNo, 2) Next End Sub
[返信 5] Re : Findメソッドのオブジェクトエラーについて
投稿者 : さんこう 投稿日時 : 2022/06/09(Thu) 14:50:07
>エラーが出てしまいます。
どんなエラーでしょうか?
エラーメッセージと、エラーになる行を提示してください。
>エラーが出てしまいます。
どんなエラーでしょうか?
エラーメッセージと、エラーになる行を提示してください。
[返信 6] Re : Findメソッドのオブジェクトエラーについて
投稿者 : だいき 投稿日時 : 2022/06/09(Thu) 15:49:10
strAddress = rngHitCell.Address(RowAbsolute:=False, ColumnAbsolute:=False)
原状この部分がエラー91 オブジェクト変数またはWithブロック変数が設定されておりませんとなっております。
検索結果が見つからなかったため、このようになってしまうのだと思うのですが、
これを見つかったときと見つからなかったときの条件分岐のやり方がよく分かりません。
strAddress = rngHitCell.Address(RowAbsolute:=False, ColumnAbsolute:=False)
原状この部分がエラー91 オブジェクト変数またはWithブロック変数が設定されておりませんとなっております。
検索結果が見つからなかったため、このようになってしまうのだと思うのですが、
これを見つかったときと見つからなかったときの条件分岐のやり方がよく分かりません。
[返信 7] Re : Findメソッドのオブジェクトエラーについて
投稿者 : さんこう 投稿日時 : 2022/06/09(Thu) 15:58:26
>検索結果が見つからなかったため、このようになってしまうのだと思うのですが
たぶんそのとおりです。
検索結果が見つからないと、
Set rngHitCell = rngSearchArea.Find(what:=keyWord, LookIn:=xlValues)
で、「rngHitCell」がNothingになります。
それを利用して、↓みたいな書き方をします。
If Not rngHitCell Is Nothing Then
'見つかったときの処理
End If
>検索結果が見つからなかったため、このようになってしまうのだと思うのですが
たぶんそのとおりです。
検索結果が見つからないと、
Set rngHitCell = rngSearchArea.Find(what:=keyWord, LookIn:=xlValues)
で、「rngHitCell」がNothingになります。
それを利用して、↓みたいな書き方をします。
If Not rngHitCell Is Nothing Then
'見つかったときの処理
End If
[返信 8] Re : Findメソッドのオブジェクトエラーについて
投稿者 : だいき 投稿日時 : 2022/06/09(Thu) 16:28:37
さんこう様
無事エラーがなくなりました。
初心者で用語もわかりやすく、コード例まで
丁寧に教えていただき、本当にありがとうございます。
さんこう様
無事エラーがなくなりました。
初心者で用語もわかりやすく、コード例まで
丁寧に教えていただき、本当にありがとうございます。
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2025-06-04 14:05:41 )