- ベストアンサー
VBAマクロで検索する方法
- VBAマクロを使用して、特定の条件で検索を行い、結果を抽出したい場合の方法について説明します。
- Excelのシートにある数値データの中から、特定の条件(右から4桁)で抽出したい場合、VBAマクロを使用することで効率的に行うことができます。
- また、抽出結果が複数の場合、その個数分まとめて表示することができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
シート2のA1に検索値が入力されていて、結果をA3から下に書き出すと仮定して… こんなかんじでしょうか?(桁数は特に制限していません) Sub sample() Dim sht As Worksheet, sorceRng As Range, destRng As Range Dim rMax As Long, str As String, L As Integer Const sorceSht = "シート1" ' データシート名 Const destSht = "シート2" '検索シート名 Set sht = Worksheets(sorceSht) 'データシートを取得 Set sorceRng = sht.Cells(1, 1) 'A1セルを取得 rMax = sht.Cells(Rows.count, 1).End(xlUp).Row 'A列の最終行を取得 Set destRng = Worksheets(destSht).Cells(3, 1) '検索シートのA3セル(書出し位置) destRng.Resize(Rows.count - 2, 1).ClearContents '検索結果表示範囲をクリア str = destRng.Offset(-2, 0).Text '検索文字列(A1セルの値) If str = "" Then Exit Sub L = Len(str) While sorceRng.Row <= rMax If Right(sorceRng.Text, L) = str Then destRng.Value = sorceRng.Text Set destRng = destRng.Offset(1, 0) End If Set sorceRng = sorceRng.Offset(1, 0) Wend End Sub
お礼
遅くなりましたが、ありがとうございました。 自分のマクロに書き換えてもうまくうごきました^^! m(__)m