• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAマクロで検索をしたい)

VBAマクロで検索する方法

このQ&Aのポイント
  • VBAマクロを使用して、特定の条件で検索を行い、結果を抽出したい場合の方法について説明します。
  • Excelのシートにある数値データの中から、特定の条件(右から4桁)で抽出したい場合、VBAマクロを使用することで効率的に行うことができます。
  • また、抽出結果が複数の場合、その個数分まとめて表示することができます。

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.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

RENTAOSAKA
質問者

お礼

遅くなりましたが、ありがとうございました。 自分のマクロに書き換えてもうまくうごきました^^! m(__)m

関連するQ&A