• 締切済み

エクセルでの自動転記 検索ボタン

sheets1 A1   B1   C1   D1   E1  F1 日付  空白 名前 ふりがな 性別 備考 ↓ 順番に転記 ユーザーホーム コマンドボタンなどを使い sheets1の対応する場所に転記  また 検索ボタンで 名前検索をしたいのですが 検索は 苗字で検索  複数あれば複数表示 該当なければ表示しないか 0もしくは該当なし こういったものは 簡単にできますでしょうか?

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

名前検索といっているのは、苗字で検索したいのか。 苗字と名前は(全部の人で統一して)全角か半角の1スペースで別れているのでしょうね。そういうことを書くのが大事なんだ。 それには見出し実例だけでなく、模擬データを質問異書くこと。 FindメソッドやFirutaやそのワイルドカード利用の方法もあるが、VBAはそんなに詳しくないだろう。だから泥臭いがわかりやすいコードにしておく。 ーー 例データ(こういうように簡略に模擬実例はかけるという見本) A2:B6 山田 三郎 江戸川区 木下 安雄 大田区 鈴木 一浪 横浜市 大田 五郎 三鷹市 鈴木 文雄 千葉市 D1セル 鈴木 コード Private Sub CommandButton1_Click() d = Range("a65536").End(xlUp).Row MsgBox d k = 2 For i = 1 To d p = InStr(Cells(i, "A"), Range("D1")) If p <> 0 Then Cells(k, "J") = Cells(i, "A") Cells(k, "K") = Cells(i, "B") k = k + 1 End If Next i End Sub ーー 結果 J2:K3 鈴木 一浪 横浜市 鈴木 文雄 千葉市 これを参考に勉強のこと。 得rつすうが増えても Cells(k, "K") = Cells(i, "B") いかが増えるだけ。 データ行数(のオーダー)も質問にいてないが、10000人以下なら処理速度も大丈夫だろう。 上記のコードは苗字に拘ってないが。 Instrの行でRange("D1")&" ”にすればそれらしくなろう。 なおじょうきはコマンドボタンはシートに貼り付けた例。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 一例です。 便宜上、↓の画像のような配置でのコードです。 ユーザーフォームではなく、コマンドボタンをクリックするとインプットボックスが表示され、それに苗字のみ(最初の1文字だけでもOK)を入力するとH~M列に表示されるようにしてみました。 コントロールツールボックスから「コマンドボタン」を挿入 → コマンドボタンをダブルクリックしVBE画面に↓のコードをコピー&ペーストしてください。 (コードの1行目と最終行は表示されているはずですので、2行目以降を貼り付けます) Private Sub CommandButton1_Click() Dim i, j As Long 'この行から Dim str As String str = InputBox("苗字を入力してください。") j = Cells(Rows.Count, 8).End(xlUp).Row If j > 1 Then Range(Cells(2, 8), Cells(j, 13)).ClearContents End If For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row If WorksheetFunction.CountIf(Range("C:C"), str & "*") = 0 Then MsgBox "該当データがありません。" Exit Sub Else If Cells(i, 3) Like str & "*" Then With Cells(Rows.Count, 8).End(xlUp).Offset(1) .Value = Cells(i, 1) .NumberFormatLocal = "m月d日" '←表示形式は適宜変更してください。 .Offset(, 1) = Cells(i, 2) .Offset(, 2) = Cells(i, 3) .Offset(, 3) = Cells(i, 4) .Offset(, 4) = Cells(i, 5) .Offset(, 5) = Cells(i, 6) End With End If End If Next i Columns("H:M").AutoFit 'この行まで End Sub 参考になれば良いのですが・・・m(__)m

mh1211
質問者

補足

tom04さん 回答ありがとうございます。 だいぶ エクセルから 離れていて2010ですので コマンドボタンだすのも手間取りましたが・・・・ すごいです。できるんですね。 検索に関しての ご指導ありがとうございます。

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.1

>ユーザーホーム コマンドボタンなどを使い マクロを使ってって事ですよね >sheets1の対応する場所に転記 この動作であれば、ボタンクリック時に行われる動作をマクロの記録で記録しする事で割りと簡単に対応できそうですね >検索ボタンで 名前検索をしたいのですが この操作もフィルター機能で絞り込む動作をマクロの記録で記録して、フィルターの条件指定の部分だけ少しマクロを変更すれば可能と思います 簡単と言えば簡単だけど、VBA知らないと難しいかな?

関連するQ&A