• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ユーザーフォームから行検索後、データ挿入の仕方について)

エクセルでの名簿作成についての質問

このQ&Aのポイント
  • エクセルで名簿作成時に使用するユーザーフォームについて、便利なデータ挿入方法を探しています。
  • 現在名簿を作成する際には、ユーザーフォームを使用してデータを入力していますが、2つのボタンを押す手間があり、効率化を図りたいと考えています。
  • 具体的には、既存の名簿から特定のデータを検索し、その下に行を挿入・登録する機能があれば便利だと思っています。マクロに関するアドバイスをお願いします。

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

  • ベストアンサー
noname#123709
noname#123709
回答No.3

#1です。 列の範囲はA~Gですね? コマンドボタン1をクリックしたときの処理ですが、そちらで異なるのであれば 変更して下さい。 テキストボックスも7項目ということなので1~7としていますが状況に 合せて変更して下さい。 質問者様の画面が見えているわけではないのでこれで限界です。 具体的に書いて頂けるとこちらも具体的に返事ができますけどね。 分からない部分はHELPをみるなりして勉強して下さいね。 Private Sub CommandButton1_Click() With Range("A65536").End(xlUp).Offset(1) .Value = TextBox1.Value .Offset(, 1).Value = TextBox2.Value .Offset(, 2).Value = TextBox3.Value .Offset(, 3).Value = TextBox4.Value .Offset(, 4).Value = TextBox5.Value .Offset(, 5).Value = TextBox6.Value .Offset(, 6).Value = TextBox7.Value End With Range("A2:G" & Range("A65536").End(xlUp).Row).Sort Key1:=Range("A2"), _ Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin Cells.Find(What:=TextBox1.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False).Activate End Sub

r_kazuki
質問者

お礼

できました、できました!!どうもありがとうございます!! ご丁寧にご説明下さりどうもありがとうございました。大変助かりました。 またお聞きする機会があるかもしれませんが;、 その際はどうぞよろしくお願い致します。

r_kazuki
質問者

補足

「ありがとうポイント」の付け方がわからないので;、 後ほど付けさせて頂きますね。(すみません、仕事中なので;)

その他の回答 (2)

noname#123709
noname#123709
回答No.2

#1です。 これでどうですか?但しデータ範囲・ボタン名称等は目的にあったものに 修正する必要があります。 (1)シートの最終行にフォームの内容を入力 (2)A2セルからA列最終データ行までの範囲で並び替え (3)フォームのローマ字名前の内容で検索 Private Sub CommandButton1_Click() Range("A65536").End(xlUp).Offset(1).Value = TextBox1.Value Range("A2:A" & Range("A65536").End(xlUp).Row).Sort Key1:=Range("A2"), _ Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin Cells.Find(What:=TextBox1.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False).Activate End Sub

r_kazuki
質問者

補足

ありがとうございます!さっそくやってみました。 ↑式のを入れてみると、A列はうまくいきましたが、他の列がA列と一緒に動いてくれません; 列ごとに検索してバラバラに入ってしまっているようです。 知識が薄いため、どこを変更すれば行ごとの移動になるのかわかりません; 何度もすみませんが、よろしくお願いします。(カーソルは動いてますので大丈夫です)

noname#123709
noname#123709
回答No.1

できますけど、登録と並び替えの部分が完成しているのであれば、登録ボタン を押した時に登録の処理を行ってから並び替えの処理を走らせたら良いのでは ないですか?

r_kazuki
質問者

補足

回答ありがとうございます。 登録後に並び替えの処理も考えたのですが、そうすると、 登録した人の所にカーソルがいかないので、いちいち探して確認するが面倒なのです。 勉強不足なので、もしかしたらカーソルも一緒に移動する方法もあるかもしれませんが;・・・。 もしそれができる方法があるならば、登録後に並び替えでも大丈夫です! 説明不足でしたが、登録後に確認をしたいという希望もあるので、 処理が終わった後、登録した人のところにカーソルがあると嬉しいです。 尚かつ、ボタンがひとつで・・・。 色々我侭言ってすみませんが、何か方法がありましたらよろしくお願いします。

関連するQ&A

専門家に質問してみよう