マンガでよめる痔のこと・薬のこと

sheets1

A1   B1   C1   D1   E1  F1
日付  空白 名前 ふりがな 性別 備考

順番に転記

ユーザーホーム コマンドボタンなどを使い

sheets1の対応する場所に転記 

また 検索ボタンで 名前検索をしたいのですが

検索は 苗字で検索 

複数あれば複数表示 該当なければ表示しないか 0もしくは該当なし

こういったものは 簡単にできますでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (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")&" ”にすればそれらしくなろう。
なおじょうきはコマンドボタンはシートに貼り付けた例。
    • good
    • 0

こんばんは!


一例です。

便宜上、↓の画像のような配置でのコードです。
ユーザーフォームではなく、コマンドボタンをクリックするとインプットボックスが表示され、それに苗字のみ(最初の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
「エクセルでの自動転記 検索ボタン」の回答画像2

この回答への補足

tom04さん 回答ありがとうございます。

だいぶ エクセルから 離れていて2010ですので
コマンドボタンだすのも手間取りましたが・・・・

すごいです。できるんですね。
検索に関しての ご指導ありがとうございます。

補足日時:2011/04/09 19:14
    • good
    • 0

>ユーザーホーム コマンドボタンなどを使い



マクロを使ってって事ですよね

>sheets1の対応する場所に転記
この動作であれば、ボタンクリック時に行われる動作をマクロの記録で記録しする事で割りと簡単に対応できそうですね

>検索ボタンで 名前検索をしたいのですが
この操作もフィルター機能で絞り込む動作をマクロの記録で記録して、フィルターの条件指定の部分だけ少しマクロを変更すれば可能と思います

簡単と言えば簡単だけど、VBA知らないと難しいかな?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング