• ベストアンサー

EXCELでの検索マクロを作りたいのですが

マクロの初心者です。氏名の検索マクロを作成したいのですが分かりません。 A列:名前 B列:郵便番号 C列:住所 と 名前等のデータを(ランダムに)入力したシート1を作成し、 シート2にシート1の「A列:名前」から性(たとえば青木)で検索して検索ボタン(マクロボタン)を押して該当データを表示させるようにしたいのですが。

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

  • ベストアンサー
回答No.2

#1で書き忘れたことがありました。 A列全体を選択して Area という名前を設定しています。

hirosatonn
質問者

お礼

ありがとうございました。 補足分も出来ました。

hirosatonn
質問者

補足

ありがとうございます。 私が求めていたのがほぼ完成ですが、1行目に表題(・・住所録)、2行目に各項目を設定したところシート2へ表示できません。 もう少しお知恵をお貸しください。

その他の回答 (1)

回答No.1

> シート2にシート1の「A列:名前」から性(姓ですよね。(^^ゞ)で検索して > 検索ボタン(マクロボタン)を押して該当データを表示させるようにしたい。 様式を次のように仮定します。      <シート1>               <シート2>    A      B     C           A     B     C 1  名前  郵便番号  住所       1  ※  郵便番号  住所 2     以下、データ            2 3                         3 4                         4 データは空白行がないと仮定します。 下記マクロは、「名前」欄に、姓・名 が入力されているという前提です。 シート2のA1に検索キー(姓)を入力すると、2行目以下の各項目にデータを表示 するマクロです。 標準モジュールに ' Sub test()   Dim L, i, RNG As Range   L = Len(Sheets(2).Range("A1").Value)   For Each RNG In Range("Area")     If RNG.Value = "" Then Exit Sub     If Left(RNG.Value, L) = Sheets(2).Range("A1") Then       i = i + 1       Sheets(2).Cells(i + 1, 1) = RNG.Value       Sheets(2).Cells(i + 1, 2) = RNG.Offset(0, 1)       Sheets(2).Cells(i + 1, 3) = RNG.Offset(0, 2)     End If   Next End Sub