EXCEL VBA ユーザーフォームからテキストボックスに入力したデータをシートに転記(UserForm)

 

 

EXCEL VBA ユーザーフォームからテキストボックスに入力したデータをシートに転記(UserForm・TextBox)

 

 

 ●はじめに

今回説明するのは、ユーザーフォームにテキストボックスを作成し、テキストボックスに文字列を入力して、入力した内容がワークシートに転記する方法を説明いたします。基礎的なユーザーフォームの作成方法につきましては、下記のページを参照して下さい。それでは、サンプルプログラムを交えて順番に説明致します。

●【EXCEL VBA ユーザーフォームの作成方法・操作方法(基礎・入門)UserForm】については、下記を参照して下さい】

EXCEL VBA ユーザーフォームの作成方法・操作方法(基礎・入門)UserForm

 

●【ユーザーフォームを作成する(Microsoft様)、下記を参照して下さい】
https://docs.microsoft.com/ja-jp/office/vba/excel/concepts/controls-dialogboxes-forms/create-a-user-form

 

 

 

 

EXCEL VBA ユーザーフォームからテキストボックスに入力したデータをシートに転記(UserForm・TextBox)

 

 

 ●プログラム説明 (サンプル①)

下記のサンプルプログラムは、ユーザーフォームからテキストボックスに入力した4項目のデータをワークシートに転記するサンプルプログラムです。入力する項目は【氏名】・【フリガナ】・【郵便番号】・【住所】です。入力した項目をワークシートへ転記する場合は、【登録】ボタンを押す事で転記されます。

1.プログラム実行の流れ

2.ユーザーフォームの作成(UserForm)

 

【プログラムの流れ】
① ユーザーフォームを表示します。
② ユーザーフォームからデータを登録する4項目をテキストボックスに入力します。
③ 【登録】ボタンクリックでテキストボックスに入力したデータをワークシートへ転記します。
④ ワークシートにデータを転記する前に、現在ワークシートに登録されているデータの行数+1を把握します。
⑤ テキストボックスに入力された4項目のデータを追記として、現在登録行数+1の行へ転記されます。
⑥ テキストボックスに入力された4項目のデータをクリアー(空白)します。

【プログラム実行条件】
① ユーザーフォームを作成する。
② ワークシートのA1~E1タイトルを作成する。(転記先のワークシートを作成)

 

① ユーザーフォーム(UserForm1)にコード(プログラム)を記述します。

② Module1にユーザーフォームを表示するコード(プログラム)を記述します。こちらのコードを実行します。

 

 

 

 

●実行前~実行後 ※プログラム実行後、ユーザーフォームが表示されて、氏名・ふりがな・郵便番号・住所を入力して、入力後「登録」ボタンをクリックします。登録したデータがワークシートに転記されます。
(画面クリックして拡大)

 

 

 

EXCEL VBA ユーザーフォームからテキストボックスに入力した内容に応じて条件判断・別のワークシートへ転記(UserForm・TextBox)

 

 

 ●プログラム説明 (サンプル②)

下記のサンプルプログラムは、テキストボックスに入力した条件に応じて結果をワークシート別にデータを転記いたします。テキストボックスに住所を入力して、都道府県毎のシートが作成され入力したデータを都道府県毎に分けられたシートにデータが登録されます。ワークシートに既存の都道府県が有ればデータを該当する都道府県シートへデータが追加されます。ワークシートに該当する都道府県名のワークシートが無ければ、新たな都道府県名のワークシートが追加されて、データも追記されます。

1.プログラム実行の流れ

【プログラムの流れ】

① ユーザーフォームを表示します。
② ユーザーフォームからデータを登録する4項目をテキストボックスに入力します。
③ 【登録】ボタンクリックでテキストボックスに入力したデータをワークシートへ転記します。
④ テキストボックスに該当する都道府県名のシートが有るか検索します。該当のワークシート有れば・・・⑥へ  無ければ・・・⑤へ
⑤ 該当する都道府県のワークシートが無ければ、新たなワークシート名でシートを追加します。
⑥ 該当ワークシートにデータを転記する前に、該当のワークシートに登録されているデータの行数を把握します。
⑦ 該当のワークシートに登録されているA列の最終行を取得します。
⑧ テキストボックスに入力された4項目のデータを追記として、該当するワークシート+現在登録行数+1の行へデータを転記します。
⑨ テキストボックスに入力された4項目のデータをクリアー(空白)します。


【プログラム実行条件】

① ユーザーフォームを作成する。

 

 

① ユーザーフォーム(UserForm1)にコード(プログラム)を記述します。

 

② Module1にユーザーフォームを表示するコード(プログラム)を記述します。こちらのコードを実行します。

※ユーザーフォーム表示のボタンにマクロ登録を行う。

 

 

 

 

 ●実行前~実行後 ※プログラム実行後、ユーザーフォームが表示されて、氏名・ふりがな・郵便番号・住所を入力して、入力後「登録」ボタンをクリックします。住所データから都道府県別シートを作成して、氏名・フリガナ・郵便番号・住所データが該当する都道府県のシートに転記されました。
(画面クリックして拡大)

 

 

 

EXCEL VBA ユーザーフォームを使いアンケートを入力します。(UserForm・TextBox)

 

 

 ●プログラム説明 (サンプル③)

下記のサンプルプログラムは、ユーザーフォームを使ってアンケートを入力します。ワークシート「質問内容」からアンケート内容を取得して、アンケートの回答結果をワークシート「回答」に転記するサンプルプログラムです。

 

 

【プログラムの流れ】
①質問内容に記入されている内容「フォーム表示」をクリックして表示します。
②フォームが表示されて、アンケート内容を記入します。
③登録ボタンをクリックして、フォームに入力された内容をシート「回答」へ転記します。

 

【プログラム実行条件】
① ワークシート「質問内容」を作成してB列に質問内容を記入します。
② ワークシート「回答」を作成してセルの1行目に表題を作成します。

 

 

① ユーザーフォーム(UserForm1)にコード(プログラム)を記述します。

 

② Module1にユーザーフォームを表示するコード(プログラム)を記述します。こちらのコードを実行します。

※ユーザーフォーム表示のボタンにマクロ登録を行う

 

 

 ●実行前~実行後 ※シート「質問内容」を元に、ユーザーフォームにアンケート内容が転記された内容でフォーム表示ボタンをクリックして表示します。ユーザーフォームにアンケート内容を入力した結果が、別シート「回答」に登録した回数に応じてデータとして蓄積されました。
(画面クリックして拡大)

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。