• 締切済み

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

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

  • yukh
  • お礼率100% (1/1)

みんなの回答

  • UChast
  • ベストアンサー率31% (7/22)
回答No.1

私も似たような作業をさせていますので、参考になれば幸いです。 例えば、入力フォームをUserform1、テキストボックスをtextbox1,2,3 と仮定した場合、それらの値を取得して、worksheet上に出力させる には以下のようなコードが有効かと思います。 一番左側のWorksheetのA,B,C列に順にデータが追加されます。 Dim EndRow as integer Dim i as integer Worksheets(1).activate EndRow = Cells(Activesheet.rows.count,1).end(xlup).Row For i = 1 to 3 cells(EndRow,i).offset(1,0).value = Userform1.textbox(i).text next i worksheet名, cells番地などはご自分の目的に応じて変更してください。 TextBox以外にも応用可能です。 頑張ってください。

参考URL:
'
yukh
質問者

お礼

早速のお答え、ありがとうございます!!o(^-^)o 週明け、試してみますね。 結果、ご報告させていただきます。

yukh
質問者

補足

先ほど試してみたのですが,(Private Sub OK_click の後に入力しました) 6行目 cells(EndRow,i).offset(1,0).value = Userform1.textbox(i).text の所でエラーが出ます。(メソッドまたはデータがみつかりません、というコンパイルエラーです) 指定した名前は合っていて、どれだけ訂正しても出てくるんですが、原因で思い当たることはありませんか? また、更に初歩的な質問で申し訳ないんですが、ワークシートから、作ったプライベートフォームはどうやって呼び出すんでしょうか? よろしくお願い致します。

関連するQ&A

  • Excelでのシート間データ反映について

    こんにちは。 仕事上でのエクセルファイル作成に行き詰ってしまったので、お知恵を拝借させて下さい。 今回作成しているファイルは、 Sheet1にはお客様に送付する宿泊確認書のフォームが、 Sheet2にはお客様の情報(名前、Tel番号など)が 入力されています。 理想としては、Sheet2に入力したデータを Sheet1のフォームに自動反映させたいのです。 単純にSheet2からSheet1にデータ反映する方法は 分るのですが、 この場合はSheet2に数百名のお客様データが入っている為、 「Sheet2の36行目のお客様分の確認書を作成したい」時の方法が分りません。 例えば、Sheet1確認書フォームの各セルに Sheet2の列を指定しておいて、 Sheet2のどの行から情報をひっぱってくるのかを Sheet1にてその都度設定する事は可能でしょうか? 何卒よろしくお願い致します。

  • EXCEL(エクセル)のデータをWebフォームへ入力

    エクセルの行(複数セル)に入力したデータがあります。 この複数セルの選択した部分を、Webフォームのテキスト入力欄へ連続して入力したいです。 (入力 → Tab → 入力 → Tab → 繰り返し… のような) エクセルシート A列    B列    C列    D列    E列      【りんご   みかん   もも】←セルの選択範囲 Webフォーム テキスト入力欄1[りんご] テキスト入力欄2[みかん] テキスト入力欄3[もも] Webフォーム上にはいくつものテキスト入力欄があり、点滅カーソルのある入力欄からペーストを開始したいです。 また、エクセルで参照するデータも何種類もあり数が変動しますので、決まったセル範囲ではなく、その都度アクティブセルを指定したいです。(行は1行です。) 以上のようなことはマクロで可能でしょうか? マクロに詳しくないので、実現可能なコードを教えていただけると、大変助かります。 どなたかお詳しい方、よろしくお願い致します。

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

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

  • Excelのマクロで別のシートに追加する方法

    入力するためのシート1からデータをためるためのシート2に入力するものをマクロのボタンでできるようにしたいのですがどのようにマクロのVBA打てばいいのか分からないので教えて下さい。 したいことは、データ4列でシート1の1行目は項目の行にして、 2行目にデータを入力する。 入力したデータを切り取って、シート2の2行目に張り付けて 次のデータをシート1の2行目に入力して 同じように切り取って次は3行目、4行目…というマクロ作りたいんです。 どなたかお願いします

  • Excelのシートからシートへデータを移動したい

    Excelのシートで作成されている申込書(シート)があり、現在はその申込書シート(セル)に記載されている情報を別のシート(顧客データとして管理しているシート、複数行存在しています)に手入力しています。 この手入力の作業をマクロか関数で簡単にしたいのですが、下記の点がクリアできる良い案が分かる方がいたら教えて頂きたいです。 (1)申込書シートは顧客データシートに情報を移動したら、都度上書きしていきたい⇒申込書シートは同じbookで管理しないため(上書きについては申込書内容を都度手作業で貼り付けするつもりです) (2)顧客データシートは顧客が増える毎に2行目、3行目・・・というようA列が空欄になっている一番上に、申込書データの内容が反映されるようにしたい。 (3)貼り付けられたデータ(セル)は関数ではなく、値(文字)が貼り付けられるようにしたい。((1)のように申込書シーは都度上書きしたいため) 分かりづらい質問で申し訳ありません。。 ちなみにマクロは作成したことがありませんが、マクロでできるのであれば挑戦したいと思っています。 ご回答よろしくお願い致します。

  • Excel,マクロ別シートからフォームに名前付保存

    以下通りの作業を自動化するVBAに関する質問です。 <Excelバージョン> Excel2013 <状況> 「Sheet1」に契約No.(連続数字でない)ごとのデータリスト。1行に1契約No. 「Sheet2」に定型帳票。A1セルに契約No.を入力。各項目は契約No.に紐づくVLOOKUP関数で可変となっている。 <必要仕様> 1クリックマクロで 「Sheet1」の全データを1行ずつ「Sheet2!A1」に契約No.を当てはめ、それぞれの「契約No.」をファイル名にして、指定フォルダに、1枚ずつPDF形式で保存。 このような仕様を満たすVBAをご教示いただけると幸いです。

  • エクセル2003 シート上部で作成した表をしたに反映させたい。

    excel2003で、顧客マスタというものをつくっています。 シート上部ので入力した表のデータをコマンドボタンを作り(決定ボタン)、ボタンを押すと、シート下の方に一覧という形でデータが反映されるように作りたいです。 下の表はどんどん下に追加されていき、上の表は決定ボタンを押すとデータがまた新しく入力できる状態になる・・・というプログラムを作りたいです。EXCEL2003でVBA初心者です。

  • 入力したデータをその都度別のシートに蓄積したい。

    お世話になります。 分不相応なのですが、教えてください。 売上や支払に関する明細を作るためにエクセルを使っています。 『シート1』 罫線を引いて実際の明細仕立てにして、  社名   品名1・数量1・金額1・・・   品名2・数量2・金額2・・・          合計金額 計算式も入れて、品番と数量が入ると 金額を算出するようにしています。 『シート2』 1行目には、社名・品名などの項目名を入れました。 1つの取引先に付き、1行分で シート1で入力したデータを転記したいと思います。 理想としては、シート1で1明細の入力が完了 →コマンドボタン(登録)を押す →シート2の2行目にデータが転記 これを繰り返してシート2の3行目、4行目と データを蓄積していく・・・感じです。 マクロの記録で、入力した内容を消去するボタンを作ったり 1行目だけ内容を転記させてみたり(そこで終了・・) 色々なキーワードで、それらしきサイトを検索してみたり、 初心者でも分かるマクロ&VBAみたいな本で調べてみたり・・ ちょっと行き詰ってきたので質問させて頂きました。 ユーザーフォームを作ってシートに転記する方法は見つけましたが シート1には計算式を結構盛り込んでしまったので、 フォームには手が届きそうにありません。 説明不足かもしれませんが、何か良いアイデアはないでしょうか。 マクロで解決できるのか、やっぱりVBAでやるしかないのか、 また何か良いサイトをご存知でしたらご紹介ください。 よろしくお願い致します。

  • エクセル2000 マクロ

    エクセル2000を使用しています。マクロを使って定型の入力フォームへの入力を素早く、正確に行えるようにしたいと思っています。 「申請書」と「標準事務用品」の2種のシートに分かれており、「申請書」が定型の入力フォーム、「標準事務用品」は入力フォームに反映させたいデータが一覧になっています。 「標準事務用品」のデータの一覧は5つの項目があり、左から1.品物 2.商品名 3.品番 4.メーカー名 5.申請 となっています。 5.申請の列はオプションボタンを1行ごとに1つ設けてあり、オプションボタンがオン(True)の時に、同じ行の1~4の項目のデータを「申請書」シートの入力フォームの任意のセルへコピーしたいです。 何かよいマクロの記述方法はありますでしょうか。

  • 【エクセル】シート1のデータを他のシートへ反映したい

    エクセルのシート1のデータを他のシートへ反映させる方法を教えていただきたく思います。 (検索したのですが、自分の状況とは違っていてわからなかったので新たに質問させていただきます) 具体的には、 シート1のセルA1に日付を入力します。 そうすると、シート2~シート7のセルG4にもそのシート1のA1のデータが表示されるようにしたいのです。 そして、シート1のA1のデータを変更すると、 自動的にシート2~シート7のセルG4のデータも変更されるようにしたいです。 以前は、 =シート1!A1 という式で動いていたのですが、 なぜか急に、一度セルG4を指定してenterキーを押して確定してからでないと データが変わらなくなってしまいました。 自動的に反映されるようにするにはどうすればよいのでしょうか? よろしくお願い致します。

専門家に質問してみよう