- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:表を検索するVBAについての質問です。)
VBAを使用して表を検索する方法
このQ&Aのポイント
- 表を検索するVBAのプログラムを組む際にエラーが発生してしまう問題について、解決策を教えていただきたいです。
- 初心者のため、VBAを使用して表を検索する方法がわかりません。どなたか教えていただけると助かります。
- ExcelのSheet1に記載されている文字列を使用して、Sheet2から該当する行のB列の値を取得したいです。現在、プログラムを組んでいますが、エラーが発生しています。どうすれば解決できるでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。みっちょです。 単純ループでの検索は遅いと思うのですが、またコード的に気になるところも多少あるのですが、ご理解に易しいように、できるだけリンク先の趣向に沿ったまま簡易化してみました。一応、最低限動くと思いますので。 Sub 単純検索() Dim LL As Long, tI As Long, tS As String, tT As String tS = CStr(Sheets("Sheet1").Cells(1, 1).Value) LL = Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row For tI = 1 To LL tT = CStr(Sheets("Sheet2").Cells(tI, 1).Value) If (InStr(1, tT, tS, vbTextCompare) <> 0) Then tS = CStr(Sheets("Sheet2").Cells(tI, 2).Value) MsgBox tS End If Next End Sub 『MsgBox tS』の部分でtSにはSheet2の対応するB列の内容が入っていますので、あとは煮るなり焼くなりお好きなように… こんな感じでいかがでしょう?
その他の回答 (1)
- bin-chan
- ベストアンサー率33% (1403/4213)
回答No.1
質問者さまが書いて実行しようとしているVBAソースそのものと、 そのソースのどこで・どのようなエラーになるのかを示してください。
質問者
お礼
お返事ありがとうございます。 返事が遅くなりましたが、何とか動く状態になりました。 また、困った事があった時は宜しくお願い致します。
お礼
回答ありがとうございます。 上記のソースをいじって試したところ動くようになりました。 実行速度もそれほど気にならないので、問題ないかと思います。 ありがとうございます。