• ベストアンサー

Excelで入力が反映されるものを作りたい

助けてください。 作りたいプログラムは、まずエクセルで入力画面を作ります。 (1)名前(2)生年月日(3)住所(4)備考 の入力画面がほしいです。マクロかなんかでできるでしょうか? マクロでなくてもだれでも簡単に入力できればいいのですが・・・ その後、これらの入力がされて決定ボタンを押すと、 別シートに作成した表の中にこれらを順に表示していきたいのです。 (1)名前で入力された項目はシート2のA1セル (2)生年月日で入力された項目はシート2のB1セル (3)住所    〃   項目はシート2のC1セル (4)備考    〃   項目はシート2のD1セル に入力されるようにしたいのです。 その他、最初の入力画面に 『 』行目 という項目を作って、そこに『2』と打てばそれぞれシート2の2行目に同じことを出力したいのですがどうすればいいのでしょうか? 手順等、作り方まで教えていただけると本当に嬉しいです。 どなたか知っている方がいましたら助けてください。 お願いします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 >これらの入力がされて決定ボタンを押すと、 という言葉があるとおり、やはり程度の高い低いはあっても、マクロになるのではないか、と思うのです。 マクロを作って貰うにしても、もう少し具体的に、ご自身で、入力などの手順をはっきりさせることですね。つまり、設計図ですね。 以下は、例です。 シート1のセルのA2 ~ D2 を入力する場所と決めます。 A1 ~ D1 は、つまり、タイトル行です。 Sheet1   A    B     C    D 1 名前  住所  生年月日  備考  2  a    b    c     e コントロールツール・バーを出して、その中からボタンをクリックして、シート上で、+になったカーソルで、ドラッグして、ボタンを作ります。 -ボタンを右クリック-コードの表示 で出てきたVBEのコードウィンドウに以下を貼り付け、Alt + Q で閉じます。 次に、ツールバーの青い三角定規が凹んでいますから、それをクリックして、編集モードを終了し、コントロールツールバー自体も隠します。 '<シートモジュール> '------------------------------------------ Private Sub CommandButton1_Click()   If WorksheetFunction.CountA(Range("A2:C2")) <> 3 Then    MsgBox "入力項目が足りません。", vbCritical: Exit Sub   End If   'メニューのコピー   If WorksheetFunction.CountA(Worksheets("Sheet2").Rows(1)) = 0 Then    Range("A1:D1").Copy Worksheets("Sheet2").Range("A1")   End If    Range("A2:D2").Copy Worksheets("Sheet2").Range("A65536").End(xlUp).Offset(1)    Range("A2:D2").ClearContents End Sub '------------------------------------------ >そこに『2』と打てばそれぞれシート2の2行目に同じことを出力したいのですがどうすればいいのでしょうか? それはできるけれども、上記は、自動的にシート2の上から順に、つけたししていきます。 なお、名前、住所、生年月日を書かないと、コピーされません。コピーし終わると、削除されます。

その他の回答 (1)

noname#187541
noname#187541
回答No.1

こんばんは。 簡単なのは データ→フォーム でしょう。 表のどこかを選択しておいて、フォームを使うといいでしょう。

asdasdd
質問者

補足

データ→フォームについてやってみたのですが、よくわからず教えてもらいたいのですが・・お時間があれば何ができるのでしょうか?? もしご回答願えるならお願いいたします。

関連するQ&A

  • エクセル ボタンを押したら別シートへ同じものを入力

    Excelで表を作りました。 その表には、(1)名前(2)生年月日(3)住所(4)備考 という欄を作成してあります。 一行で一人分の入力になっています。 そこで、一人分の横一行の入力がなされ、その行に対する何かしらの決定ボタンを押したら シート2にの指定する箇所 (1)はセルA1 (2)はB1セル (3)はセルC1 (4)はセルD1 に同じものを入力させたいのですが、どうしたらよいでしょうか? マクロでも普通の入力する関数でもいいので どのようにすればいいかわかる方がいましたら教えてください! 本当に困っていてどうすればいいかわからいません。

  • Excelで作成したフォームからデータをシート上に反映したい

    初心者です。 同じ形式のデータを、項目ごと(フォームでつくった入力欄ごと、って言い方でわかりますでしょうか)にセルに振り分けて、 上から順にシート上に入力していきたいのです。 VBAマクロをつかって作ってみたのですが、一つの行に対してしか反映しないものしか作れませんでした。 何か良い方法はありませんか?

  • 《エクセル》で、入力用のメニュー画面を作りたい

    シートとは別に、入力用のメニューを作るには、どうしたらよいでしょうか?コントロールツールボックスのテキストでよいのでしょうか? 項目は、15項目ほどです。(1名分) 15項目入力後に、sheet1に5項目、sheet2に5項目、sheet3に5項目を指定したセルに飛ばしたいです。 またsheet4には、15項目を1行に飛ばしたい。(二人目からは、次の行に…入力したものが、どんどん保存される。) メニュー画面で名前等を入力すると、入力済みのデータが表示されて、修正が出来るようにしたい。 イメージがつかみにくいとは思いますが、どうか力を貸して下さい。

  • エクセルで入力済みのセルのみ見つけて・・

    エクセルで入力済みのセルだけを見つけ出して、 指定した場所に並べる作業をマクロで1発で出来るようにしたいのですが、その方法を教えてください。 シートが37シートあります。(sheetA1~sheetA12,sheetB1~sheetB12,sheetC1~sheetC12,sheet37) それぞれセルC5からC20まで数値が入っていますが、 最終行はC20とは限りません。(sheet37はまとめるためのシートで空白) C15が最終行の場合もあれば、C18が最終行の場合もあります。 各シートそれぞれ最終行が違います。(列は同じですスタートもC5です) 各シートのC列の入力済みのセルの数値をsheet37のB1セルから順番に縦に並べたいのです。 A,B,Cのシート順にC列に入力された数値を縦に並べます。 空白は無しで詰めて並べます。 これを1回の作業でできるマクロを教えてください。 それから入力済みの最終行を見つけ出すマクロの部分を表示して頂けるとありがたいです。 宜しくお願いします。

  • エクセルについて

    sheet1には個人情報(名前、住所、電話番号、生年月日)を入力した一覧表を作成し、sheet2には履歴書のような形式で雛形を作ります。sheet1に入力したものが、sheet2のそれぞれの項目のセルに飛ぶにはどうすればよいでしょうか?教えてください。

  • エクセルで生年月日を入力しいろいろ検索する方法

    いつもお世話になっています。 今回も判らないので、教えてください。 まず、シート1のH1にTODAY関数をいれ、本日の日付を表示させてます。(例:2008/12/13) A5に、ナンバー(例:NO.1)、 B5に名前(例:山田花子)、 C5に生年月日(例:2001/12/4)、 G5に年齢を出すために=DAY360(C5/360,$H$1/360,FALSE)を入力しています。 シート2にA5にナンバー(例:NO.1)、 B5に名前が=VLOOKUP(A5,'Sheet1 (2)'!A5:B200,2,FALSE) C5に生年月日の年(例:2001) D5に生年月日の月(例:12) E5に生年月日の日(例:4) G6に年齢=VLOOKUP(A5,'Sheet1 (2)'!A5:G200,6,FALSE)を入力し、4行目のA~Eには見出しをつけています。(例:A4には“ナンバー”、B4には“名前”)。 4行目にオートフィルタを付け、○月生まれの人は、誰がいるのか?を見れるようにしてます。 シート1はデーターの入力画面とて、シート2では検索画面と使用してますが、生年月日はこの様に2度打ちしないとできないので、とても面倒です。 生年月日を一度入力するだけで、年齢表示と、○月生まれの人が誰なのかを調べるのもできる方法はありますか? ちなみに、シート2にオートフィルタを付けることにより、名前の順(あ行~)の並び替えに役立っています。 もし、今回の質問でオートフィルを使用しない方法であれば、大変恐縮ですが、名前の順での表示もできるようにお願いします。 どうぞよろしくお願いします。

  • Excelでの並び替えについて

    1 セルA1~A10には、数字の1~10までが不規則に入力されています。(数字が入力されていないセルもシートによってはあります) 2 セルB1~B10には、人名が入力されています。 3 セルC1~C10には、生年月日が入力されています。 上記の条件で、  セルD1~D10には1から成績順に昇順に並べてリストを作成したいです。。(数字が入力されていないセルがあったときはその行は無視しても可)このときマクロは使用せず数式(関数)のみを使用し並び替えるにはどうしたらよういのでしょうか?  

  • エクセルのシート名をセルに入力

    エクセルで、シートの名前をセルに入力するマクロを教えて下さい。 例えば、【05-1234】というシートのA1のセルにマクロで【05-1234】と入力したいのです。 お願いします。

  • ExcelのVBAについて

    ExcelのVBAについて VBA全くの初心者です。 以下のような処理を行いたいのですが、どなたかご教授をお願いします。 以下のように支店(1)~(3)のシートがあります。 1.入力シートに調べたい商品No・商品名・備考を入力する(複数行あり) 2.マクロを実行すると、商品Noを検索対象として支店(1)~(3)シートをチェックし、   一致しない行を不一致データシートに出力する もう一つ別のマクロで、 1.入力シートに調べたい商品No・商品名・備考を入力する(複数行あり) 2.マクロを実行すると、商品Noを検索対象として支店(1)~(3)シートをチェックし、、   一致する行を一致データシートに出力し、D列に対象データがあるシート名を表示する   ※可能でしたら、E列に対象データがある行番号も表示する -------------------------------- シート名:支店(1) A      B     C 商品No   商品名   備考 011    商品A   備考A 009    商品B   備考B 015    商品C   備考C -------------------------------- シート名:支店(2) A      B     C 商品No   商品名   備考 008    商品A   備考A 023    商品B   備考B 004    商品C   備考C -------------------------------- シート名:支店(3) A      B     C 商品No   商品名   備考 007    商品A   備考A 033    商品B   備考B 018    商品C   備考C -------------------------------- シート名:入力シート A      B     C 商品No   商品名   備考 ※ここに複数行入力する -------------------------------- シート名:不一致データシート A      B     C 商品No   商品名   備考 ※ここに出力される -------------------------------- シート名:一致データシート A      B     C 商品No   商品名   備考 ※ここに出力される

  • セルの内容を [半角スペース] で区切れないでしょうか

    Excelのシートで、住所録もどきを作りましたが 1つのセルに長々と記入してしまいました (それも、百行あまり…) 今更ですが、バラバラのセルに分ける方法は無いでしょうか  例)[名前_郵便番号_住所_電話番号_備考] が、1セルの入力内容           ↓    [名前][郵便番号][住所][電話番号][備考] と、別々のセルに分け(貼り付け)たい

専門家に質問してみよう