• ベストアンサー

新しいデータは常に2行目へ登録したい

mar00の回答

  • ベストアンサー
  • mar00
  • ベストアンサー率36% (158/430)
回答No.4

>登録すると確かにワークシートの2行目に追加されました。 しかし、既に登録したデータを編集し、登録すると新たなデータとして2行目に入ってしまいます。 確かにそうなりますよね。 そこまで考えずに回答してしまいました。失礼しました。 以下のようにコードを修正してください。 Private Sub CommandButton1_Click() If Worksheets(1).Cells(i, 2).Value = "" Then (1) Worksheets(1).Range("A2").EntireRow.Insert (2) i = 2 (3) End If Worksheets(1).Cells(i, 1).Value = TextBox1.Value Worksheets(1).Cells(i, 2).Value = TextBox2.Value Worksheets(1).Cells(i, 3).Value = ComboBox1.Value Worksheets(1).Cells(i, 4).Value = TextBox3.Value Worksheets(1).Cells(i, 5).Value = TextBox4.Value End Sub 新規に登録をするときはテキストボックス等に何も表示されていない状態で登録するんでしたよね。 (1) ifを使ってCells(i, 2).Value が空白("")の時に (2) 2行目に行を挿入 (3) iを2にして登録 でいいと思います。 注  既に入力済みのデータでB列が空白だとデータを修正すると2行目に登録されてしまいます。(とりあえず分かる所だけ先に登録してしまったときなど) B列は名前だったと思います。名前は飛ばす事はないと思いますので (1) ifを使ってCells(i, 2).Value が空白("")の時にしています。

xjptm
質問者

お礼

丁寧に教えてくださりありがとうございます。 とても親切な対応をしてくださり、感激です。 名前が空白であれば、エラーを表示させるようにしていますので、 ご教授いただいた内容で希望する物が出来ました。 本当にありがとうございました。

関連するQ&A

  • ユーザーフォームから行検索後、データ挿入の仕方について

    エクセルでの名簿作成時に関する質問です。 現在エクセルで名簿を作成する際に、ユーザーフォームを使って入力しています。 データは、まず一番上の行に「A1~G1」までの(1人につき)7項目挿入され、 その後、全体を「A列」の氏名順に並び替えるという作業をしています。 「登録」ボタンと、「並び替え」ボタンを押さねばならず、 2度手間のような気がしてなりません。 ちなみに、名簿自体はローマ字名順(a.b.c.~z)に並べています。 ユーザーフォームのテキストエリアに記入し、「登録」ボタンを押すだけで、 既存の名簿から該当のローマ字を検索して探し出し、 その下に行の挿入・登録されるような機能はないのでしょうか? 例えば、「佐藤さん(sato)」のデータをユーザーフォームから入れる際に 「登録」ボタンを押すと・・・ ---------------------------------------------------- 【名簿】   ******   ←ここではなく・・・   abe  ・  ・  oda    sasaki  ******   ←【sat*】を検索して直接ここに登録したいのです。  seki ---------------------------------------------------- マクロを始めたばかりでよく理解していない事が多いのですが、 何か良い方法がありましたら、アドバイスをお願い致します。

  • 名簿の行の挿入

    名簿をアイウエオ順に並び変えるマクロで並び替えましたが、ア行カ行とかアカサタナの間に行を挿入したいのですが名簿名が増えると行がランダムになるので行を挿入できるマクロを教えてください。

  • 既存データの全てに、空白の1行を追加するには・・・

    既存データの全てに、空白の1行を追加するには・・・ B1~B100までデータが入っているとして 各データの下に空白の行を追加していく作業を簡単にする方法はないでしょうか? 地道にやればB2に行挿入、B4に行挿入・・・と100回やる必要があると思います。 アドバイスください。

  • エクセルマクロでの行挿入

    データを入力するフォームにコマンドボタンで行挿入したいのですが、うまく出来ません。最下段に合計する欄が設けてあるので、その直前に行挿入したいのです。挿入後も常に合計欄の直前に行挿入できるようにするにはどうすればよいのでしょうか?

  • エクセル2003での自動行追加について

    マクロを使わずに自動行追加する方法を探しています。 条件:マクロや右クリックでの行又はセルの挿入を使わずに、各最終行の次にから 3行追加を繰り返す A1 B1 AAA 111 AAA 222 AAA 333 (ここに3行追加) SSS 777 SSS 444 SSS 888 (ここに3行追加) アルファベットは同一日付データ 数値は氏名データ データは都度可変します マクロを修得しておりませんので、何とかこの条件下でエクセルで可能な方法を探しております。 皆さま、ご教授をお願い致します。

  • 常に特定の行の上に新規行挿入するマクロ

       A , B 1: 1月,1000円 2: 2月,2000円 3: 計,SUM(B1:B2) 4: 月,  円 という表があります。 4行目を常に計行(上記の場合は3行目、仮に3月分まで入力している場合は4行目になる)の上に挿入し、合計は挿入行分も含まれる、というマクロは可能でしょうか? ご存知の方おられましたらご教授願います。

  • 行位置の設定について

    ランダムに行が増えていく(挿入などをして増やす)データに対して、 そのファイルを開いたときに一番行の下(何も入っていない行)の A列のセルをアクティブにする方法ってないのでしょうか。 今は、一つ一つデータがないかを検索してアクティブにする マクロにしております。 すいませんが教えてください。

  • エクセルで複数行のデータを1行にする方法

    エクセルで複数行のデータを列挿入--切り取り--貼り付けで1行にしたいのですが、 その様なセルの並びが沢山あります。 VBAマクロなどで一度に出来る方法が有りましたらどうか教えて下さい。 データはこんな感じです。 ┌─┬─┬─┬─┬─┐ │01│04│07│10│13│ ├─┼─┼─┼─┼─┤ │02│05│08│11│14│ ├─┼─┼─┼─┼─┤ │03│06│09│12│15│ ├─┼─┼─┼─┼─┤ │16│19│22│25│28│ ├─┼─┼─┼─┼─┤ │17│20│23│26│29│ ├─┼─┼─┼─┼─┤ │18│21│24│27│30│ ├─┼─┼─┼─┼─┤ この様に並び替えたいのです。 ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ │01│02│03│04│05│06│07│08│09│10│11│12│13│14│15│ ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ │16│17│18│19│20│21│22│23│24│25│26│27│28│29│30│ ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ 何卒宜しくお願いいたします。

  • エクセル行の挿入

    excelに行を追加する方法を教えてください! Bにある数からマイナス1行下に挿入したいのです。 1→挿入なし  2→下に1行挿入  3→下に2行挿入 数よりマイナス1行の挿入をしたいのですが、 マクロ、関数など全く分かりません。 以前の質問も見てみたのですが、見当たらないのと、 マクロ?が全くわからないので、 どなたか一から教えていただけないでしょうか? 本当に申し訳ないのですが、お願いします。 Aにkkkk Bに数が入ります。   A | B | C | D ------------------------------------- 1| kkkk   2 ------------------------------------- 2| kkkk   1 ------------------------------------- 3| kkikk   3 ------------------------------------- 4| kkkk   2 ↓行の挿入   A | B | C | D ------------------------------------- 1| kkkk   2 ------------------------------------- 2| kkkk   空白(行の挿入) ------------------------------------- 3| kkikk   1 ------------------------------------- 4| kkkk   3 ------------------------------------- 5| kkkk   空白(行の挿入) ------------------------------------- 6| kkkk   空白(行の挿入) ------------------------------------- 7| kkkk   2 ------------------------------------- 8| kkkk   空白(行の挿入) -------------------------------------

  • エクセルマクロ、集計行の上に空白行挿入

    エクセルデータがA、B、C、D、E列1000行まであります。 C列基準でE列を合計するマクロを作成しましたが(集計行はデータの下に挿入)、実行の結果、新たに挿入される集計行の上に空白行を1行挿入していくということを、作成したマクロに付加できるでしょうか? ご教授頂きたく、お願いします。