質問: excel マクロ 検索結果を別シートにコピー excel2010の「ホーム」タブの「編集」グループより「検索と選択」の「検索」で住所録の「名前」を検索しています。 「検索する文字列」に「名前」を入力して「すべて検索」をクリックすると検索結果がでますが、検索結果の表示方法が「セル番地」だけを表示しているため一つ一つそのセルをクリックして内容を確認しています。 これを検索された複数のデータを住所録一覧表の項目名に合わせてまとめて別シートにコピーしたいのですが・・・。 sheet1に次の項目名で住所録を作成しています。 a列:会社名 b列:名前 c列:住所 d列:電話番号 「名前」で検索して、検索されたデータのa列からd列までのデータを別シート(sheet2)の同じ表にコピーしたいのです。 名字だけの検索ですので結果が複数ある場合は、すべての検索結果を数行にわたってコピーできればいいのですが・・・。 このメニューのコマンドを使わなくても、何か他の方法でvbaの例があれば教えていただきたいと思います。 宜しくお願いします。
回答: 結論から言うとわざわざマクロなど使わずとも。 推奨: データタブの「オートフィルタ」を取り付け、「テキストフィルタ」から「指定の値を含む」(あるいは等しい、始まる等)で名前を記入して絞り込み、まとめて選んでコピー貼り付ければ完成です。 それとも。 とにかく操作をしたくないのでマクロをどうしても使いたい、というご相談なら。 作成例: sub macro1() dim s as string s = inputbox("name?") if s = "false" then exit sub application.screenupdating = false worksheets("sheet2").cells.clearcontents with worksheets("sheet1") .autofiltermode = false .range("a:d").autofilter field:=2, criteria1:=s & "*" .range("a:d").copy destination:=worksheets("sheet2").range("a1") .autofiltermode = false end with application.screenupdating = true end sub 一応念のため: 手を動かして操作したほうが、たとえば「どこにどんな具合に貼り付けたい」とかその時々の状況に応じて機動的に作業できますので、結果的には仕事は早いと思いますよ?