<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>入力フォーム &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%e5%85%a5%e5%8a%9b%e3%83%95%e3%82%a9%e3%83%bc%e3%83%a0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sat, 13 Jun 2026 03:59:51 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>入力フォーム &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのVBAユーザーフォームで入力フォームを作る方法｜台帳・名簿への行追加を自動化</title>
		<link>https://mashukabu.com/excel-vba-userform-input/</link>
					<comments>https://mashukabu.com/excel-vba-userform-input/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 13 Jun 2026 03:59:51 +0000</pubDate>
				<category><![CDATA[VBA・マクロ]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[UserForm]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[マクロ]]></category>
		<category><![CDATA[ユーザーフォーム]]></category>
		<category><![CDATA[入力フォーム]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=8031</guid>

					<description><![CDATA[ExcelのVBAユーザーフォームで入力フォームを作る方法を、フォームのデザイン・ボタンの処理・シートへの行追加の3ステップで解説。テキストボックスやコンボボックスを配置し、台帳や名簿への登録を自動化するコピペ用コードを紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「台帳の最終行を探して、1セルずつデータを入力している」。「名簿に新しい人を追加するたびに、入力する列を間違えてヒヤッとする」。こんな作業を毎回手でやっていませんか。</p>



<p class="wp-block-paragraph">シートに直接入力する方式は、手軽な反面ミスが起きやすいものです。入力する行や列を間違えたり、必須項目を空のまま登録してしまったりします。件数が増えるほど、このリスクも積み上がっていきます。</p>



<p class="wp-block-paragraph">そんなときに役立つのが、VBAのユーザーフォーム（UserForm）です。専用の入力画面を用意すれば、決まった項目を埋めてボタンを押すだけで、台帳の末尾に1行きれいに追加できます。この記事では、入力フォームをゼロから作る手順を3ステップで解説します。フォームのデザイン・ボタンの処理・シートへの書き込みの順で進めます。コピペでそのまま動く完成コードも用意しました。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">VBAユーザーフォームの作り方でできること</a></li><li><a href="#toc2" tabindex="0">VBEの起動とユーザーフォームを作る準備</a><ol><li><a href="#toc3" tabindex="0">VBEの開き方</a></li><li><a href="#toc4" tabindex="0">ユーザーフォームの挿入</a></li><li><a href="#toc5" tabindex="0">.xlsmで保存することに注意</a></li></ol></li><li><a href="#toc6" tabindex="0">ステップ1：ユーザーフォームをデザインする</a><ol><li><a href="#toc7" tabindex="0">部品をフォームに配置する</a></li><li><a href="#toc8" tabindex="0">部品に名前（オブジェクト名）を付ける</a></li></ol></li><li><a href="#toc9" tabindex="0">ステップ2：ボタンのイベント処理を書く</a><ol><li><a href="#toc10" tabindex="0">コンボボックスに選択肢をセットする</a></li><li><a href="#toc11" tabindex="0">閉じるボタンの処理を書く</a></li><li><a href="#toc12" tabindex="0">登録ボタンの処理を書く（メイン）</a></li><li><a href="#toc13" tabindex="0">コードの仕組みを理解する</a></li></ol></li><li><a href="#toc14" tabindex="0">ステップ3：フォームを呼び出すマクロを作る</a><ol><li><a href="#toc15" tabindex="0">ボタンからフォームを開けるようにする</a></li></ol></li><li><a href="#toc16" tabindex="0">VBAユーザーフォームでよくあるエラーと対処法</a><ol><li><a href="#toc17" tabindex="0">「変数が定義されていません」と出る</a></li><li><a href="#toc18" tabindex="0">実行時エラー9：インデックスが有効範囲にありません</a></li><li><a href="#toc19" tabindex="0">フォームが表示されない・反応しない</a></li><li><a href="#toc20" tabindex="0">入力途中で誤って閉じても安心な設計に</a></li></ol></li><li><a href="#toc21" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">VBAユーザーフォームの作り方でできること</span></h2>



<p class="wp-block-paragraph">まずは、ユーザーフォームを使うと入力作業がどう変わるのかを見ておきましょう。</p>



<p class="wp-block-paragraph">ユーザーフォームとは、VBAで作る独自の入力画面のことです。テキストボックスやボタンを自由に配置して、アプリのような専用フォームを作れます。</p>



<p class="wp-block-paragraph">シートに直接入力する方式と比べると、次のようなメリットがあります。</p>



<ul class="wp-block-list"><li>決まった項目だけを順番に入力できるので、列のズレが起きない</li><li>「未入力ならボタンを止める」など、入力チェックを仕込める</li><li>ボタン1つで台帳の末尾に行を追加できる</li><li>入力する人が、Excelの構造を知らなくても使える</li></ul>



<p class="wp-block-paragraph">手入力とユーザーフォームの違いを、簡単な表で比べてみます。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>シートに直接入力</th><th>ユーザーフォーム</th></tr></thead><tbody><tr><td>入力位置のミス</td><td>起きやすい</td><td>起きない</td></tr><tr><td>必須チェック</td><td>自分で目視</td><td>自動でチェック</td></tr><tr><td>操作のしやすさ</td><td>Excelの知識が必要</td><td>項目を埋めるだけ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">一度フォームを作ってしまえば、あとは項目を埋めてボタンを押すだけです。この「専用の入力窓口」を作れるのが、ユーザーフォームの強みですね。</p>



<p class="wp-block-paragraph">なお、ユーザーフォームはVBAの中では中級者向けの機能です。マクロをまだ触ったことがない方は、先に<a href="https://mashukabu.com/excel-vba-macro-beginners-guide/">Excel VBAマクロ入門</a>で基本を押さえておくとスムーズです。</p>



<h2 class="wp-block-heading"><span id="toc2">VBEの起動とユーザーフォームを作る準備</span></h2>



<p class="wp-block-paragraph">フォームを作る前に、VBE（Visual Basic Editor）という編集画面を開きます。VBEは、VBAのコードやフォームを作るための専用エディタです。</p>



<h3 class="wp-block-heading"><span id="toc3">VBEの開き方</span></h3>



<p class="wp-block-paragraph">VBEを開く方法は2つあります。一番早いのは、Excelの画面で <code>Alt + F11</code> を押す方法です。これだけでVBEが立ち上がります。</p>



<p class="wp-block-paragraph">もう1つは、リボンの「開発」タブから開く方法です。「開発」タブの「Visual Basic」ボタンをクリックします。</p>



<p class="wp-block-paragraph">「開発」タブが見当たらない場合は、表示設定が必要です。次の手順で追加してください。</p>



<ol class="wp-block-list"><li>「ファイル」→「オプション」を開く</li><li>「リボンのユーザー設定」を選ぶ</li><li>右側の一覧で「開発」にチェックを入れる</li><li>「OK」を押す</li></ol>



<p class="wp-block-paragraph">これで「開発」タブがリボンに表示されます。</p>



<h3 class="wp-block-heading"><span id="toc4">ユーザーフォームの挿入</span></h3>



<p class="wp-block-paragraph">VBEが開いたら、フォームを追加します。メニューの「挿入」→「ユーザーフォーム」を選んでください。</p>



<p class="wp-block-paragraph">すると「UserForm1」という灰色の四角い画面が現れます。これがフォームの本体です。同時に「ツールボックス」という、部品を並べた小さなウィンドウも表示されます。</p>



<p class="wp-block-paragraph">ツールボックスが表示されない場合は、メニューの「表示」→「ツールボックス」で出せます。このツールボックスから、テキストボックスやボタンをフォームに貼り付けていきます。</p>



<h3 class="wp-block-heading"><span id="toc5">.xlsmで保存することに注意</span></h3>



<p class="wp-block-paragraph">フォームやマクロを作ったブックは、必ず <code>.xlsm</code>（マクロ有効ブック）形式で保存します。普段の <code>.xlsx</code> 形式では、マクロが保存できません。</p>



<p class="wp-block-paragraph"><code>.xlsx</code> のまま保存しようとすると、警告が出ます。このまま保存すると、作ったフォームが消えてしまいます。</p>



<p class="wp-block-paragraph">保存時は「名前を付けて保存」で、ファイルの種類を「Excel マクロ有効ブック（.xlsm）」に変えてください。詳しい違いは<a href="https://mashukabu.com/excel-vba-filetype-explanation/">.xlsxと.xlsmの違い</a>で解説しています。</p>



<h2 class="wp-block-heading"><span id="toc6">ステップ1：ユーザーフォームをデザインする</span></h2>



<p class="wp-block-paragraph">ここからは、実際に入力フォームを組み立てていきます。今回は、顧客名簿への登録を例にします。「名前」「電話番号」「区分」の3項目を入力するフォームを作ってみましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">部品をフォームに配置する</span></h3>



<p class="wp-block-paragraph">ツールボックスから、次の部品をフォームにドラッグして貼り付けます。</p>



<figure class="wp-block-table"><table><thead><tr><th>部品</th><th>役割</th><th>配置する数</th></tr></thead><tbody><tr><td>ラベル（Label）</td><td>項目名の表示</td><td>3個</td></tr><tr><td>テキストボックス（TextBox）</td><td>文字の入力欄</td><td>2個</td></tr><tr><td>コンボボックス（ComboBox）</td><td>一覧から選ぶ入力欄</td><td>1個</td></tr><tr><td>コマンドボタン（CommandButton）</td><td>登録・閉じるの実行</td><td>2個</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ラベルは「名前」「電話番号」「区分」という見出し用です。その右にテキストボックスやコンボボックスを並べると、見やすいフォームになります。</p>



<p class="wp-block-paragraph">部品は、ツールボックスでアイコンをクリックしてから、フォーム上でドラッグすると配置できます。</p>



<h3 class="wp-block-heading"><span id="toc8">部品に名前（オブジェクト名）を付ける</span></h3>



<p class="wp-block-paragraph">配置した部品には、コードから呼び出すための名前を付けます。これを「オブジェクト名」と呼びます。</p>



<p class="wp-block-paragraph">部品をクリックして選び、画面左下の「プロパティ」ウィンドウで「(オブジェクト名)」の欄を書き換えます。今回は次のように設定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>部品</th><th>オブジェクト名</th><th>役割</th></tr></thead><tbody><tr><td>テキストボックス1</td><td>txtName</td><td>名前の入力欄</td></tr><tr><td>テキストボックス2</td><td>txtTel</td><td>電話番号の入力欄</td></tr><tr><td>コンボボックス</td><td>cmbType</td><td>区分の選択欄</td></tr><tr><td>コマンドボタン1</td><td>btnAdd</td><td>登録ボタン</td></tr><tr><td>コマンドボタン2</td><td>btnClose</td><td>閉じるボタン</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">オブジェクト名は、あとからコードで使います。<code>TextBox1</code> のような初期名のままでも動きます。ただ、<code>txtName</code> のように役割がわかる名前にしておくと、コードがぐっと読みやすくなります。</p>



<p class="wp-block-paragraph">ボタンに表示する文字（登録・閉じる）は、プロパティの「Caption」で設定できます。</p>



<h2 class="wp-block-heading"><span id="toc9">ステップ2：ボタンのイベント処理を書く</span></h2>



<p class="wp-block-paragraph">部品を配置したら、次はボタンを押したときの動きを書きます。VBAでは、これを「イベント処理」と呼びます。</p>



<h3 class="wp-block-heading"><span id="toc10">コンボボックスに選択肢をセットする</span></h3>



<p class="wp-block-paragraph">まず、区分を選ぶコンボボックスに、選択肢を入れておきます。フォームが開いたタイミングで選択肢をセットしたいので、フォームの「Initialize」イベントを使います。</p>



<p class="wp-block-paragraph">フォーム上の何もない部分をダブルクリックすると、コードを書く画面に切り替わります。そこに次のコードを書きます。</p>



<pre class="wp-block-code"><code>Private Sub UserForm_Initialize()

    '--- 区分コンボボックスに選択肢を追加 ---
    cmbType.AddItem &quot;法人&quot;
    cmbType.AddItem &quot;個人&quot;
    cmbType.AddItem &quot;その他&quot;

End Sub</code></pre>



<p class="wp-block-paragraph"><code>AddItem</code> は、コンボボックスに選択肢を1つ追加する命令です。3行書けば、3つの選択肢が並びます。これで、フォームを開いたときに区分が選べるようになります。</p>



<h3 class="wp-block-heading"><span id="toc11">閉じるボタンの処理を書く</span></h3>



<p class="wp-block-paragraph">次は、簡単な「閉じる」ボタンから書いてみましょう。フォーム上の「閉じる」ボタンをダブルクリックすると、コード画面に切り替わります。そこに1行だけ書きます。</p>



<pre class="wp-block-code"><code>Private Sub btnClose_Click()

    Unload Me '自分自身（フォーム）を閉じる

End Sub</code></pre>



<p class="wp-block-paragraph"><code>Unload Me</code> は、フォームを閉じる命令です。<code>Me</code> は「このフォーム自身」を指します。これで閉じるボタンが完成です。</p>



<h3 class="wp-block-heading"><span id="toc12">登録ボタンの処理を書く（メイン）</span></h3>



<p class="wp-block-paragraph">いよいよメインの「登録」ボタンです。ここでシートへの書き込みを行いますが、その前に入力チェックを入れておきます。「閉じる」と同じように、登録ボタンをダブルクリックしてコードを書きます。</p>



<pre class="wp-block-code"><code>Private Sub btnAdd_Click()

    '--- 名前が未入力ならメッセージを出して処理を止める ---
    If txtName.Value = &quot;&quot; Then
        MsgBox &quot;名前を入力してください&quot;
        txtName.SetFocus '名前の入力欄にカーソルを戻す
        Exit Sub
    End If

    '--- 書き込み先シートの最終行の次の行を取得 ---
    Dim ws As Worksheet '書き込み先のシート
    Set ws = Worksheets(&quot;名簿&quot;)

    Dim newRow As Long '新しく書き込む行番号
    newRow = ws.Cells(Rows.Count, 1).End(xlUp).Row + 1

    '--- フォームの入力値を各列に書き込む ---
    ws.Cells(newRow, 1).Value = txtName.Value '名前をA列へ
    ws.Cells(newRow, 2).Value = txtTel.Value  '電話番号をB列へ
    ws.Cells(newRow, 3).Value = cmbType.Value '区分をC列へ

    MsgBox &quot;登録しました&quot;

    '--- 次の入力に備えて入力欄をクリアする ---
    txtName.Value = &quot;&quot;
    txtTel.Value = &quot;&quot;
    cmbType.Value = &quot;&quot;
    txtName.SetFocus '名前の入力欄にカーソルを戻す

End Sub</code></pre>



<p class="wp-block-paragraph">このコードが、フォームの心臓部です。「名前」シートを用意し、A列に名前、B列に電話番号、C列に区分が並ぶ前提になっています。登録ボタンを押すと、名簿の末尾に1行追加されます。</p>



<p class="wp-block-paragraph">自分の環境に合わせて変えるのは、次の2か所です。</p>



<ul class="wp-block-list"><li><code>Worksheets("名簿")</code> … 書き込み先のシート名</li><li><code>ws.Cells(newRow, 1)</code> などの列番号 … どの列に書き込むか</li></ul>



<h3 class="wp-block-heading"><span id="toc13">コードの仕組みを理解する</span></h3>



<p class="wp-block-paragraph">このコードのポイントは、3つのパートに分かれている点です。順番に見ていきましょう。</p>



<p class="wp-block-paragraph">1つ目は、入力チェックです。<code>If txtName.Value = "" Then</code> で、名前が空かどうかを判定します。空ならメッセージを出して <code>Exit Sub</code> で処理を止めます。これで、名前なしの行が登録されるのを防げます。条件分岐の基本は<a href="https://mashukabu.com/excel-vba-conditional-branch-explanation/">VBA If文の使い方</a>で解説しています。</p>



<p class="wp-block-paragraph">2つ目は、書き込む行の決定です。ここで使う <code>Cells(Rows.Count, 1).End(xlUp).Row</code> は、定番のテクニックです。「A列の一番下から上に詰めて、最初にデータがある行」を返します。これに <code>+ 1</code> を足すことで、末尾の次の行（空いている行）が分かります。最終行の取得方法は<a href="https://mashukabu.com/excel-vba-howto-get-lastrow/">VBA最終行の取得</a>でも詳しく解説しています。</p>



<p class="wp-block-paragraph">3つ目は、シートへの書き込みです。<code>ws.Cells(newRow, 1).Value</code> のように、行番号と列番号でセルを指定します。<code>txtName.Value</code> のフォームの入力値を、各セルに代入していきます。</p>



<p class="wp-block-paragraph"><code>Cells(newRow, 1)</code> の <code>1</code> はA列、<code>2</code> はB列という対応です。行と列を数字で指定する書き方は、<a href="https://mashukabu.com/excel-vba-range-cells/">VBA RangeとCellsの違い</a>で詳しく解説しています。</p>



<h2 class="wp-block-heading"><span id="toc14">ステップ3：フォームを呼び出すマクロを作る</span></h2>



<p class="wp-block-paragraph">ここまでで、フォーム本体は完成しました。ただ、このままではフォームを画面に出せません。最後に、フォームを開くためのマクロを用意します。</p>



<p class="wp-block-paragraph">フォームを開くコードは、標準モジュールに書きます。VBEのメニューで「挿入」→「標準モジュール」を選び、次のコードを書いてください。</p>



<pre class="wp-block-code"><code>Sub フォームを開く()

    UserForm1.Show 'ユーザーフォームを画面に表示する

End Sub</code></pre>



<p class="wp-block-paragraph"><code>UserForm1.Show</code> が、フォームを画面に表示する命令です。<code>UserForm1</code> の部分は、フォームのオブジェクト名に合わせます。フォーム名を変えていなければ、このままで動きます。</p>



<p class="wp-block-paragraph">このマクロを実行すると、入力フォームが画面に表示されます。項目を埋めて登録ボタンを押せば、名簿シートに行が追加されます。</p>



<h3 class="wp-block-heading"><span id="toc15">ボタンからフォームを開けるようにする</span></h3>



<p class="wp-block-paragraph">毎回マクロの一覧から実行するのは面倒です。シート上にボタンを置いて、クリックでフォームが開くようにしておくと便利です。</p>



<ol class="wp-block-list"><li>「開発」タブの「挿入」→「ボタン（フォームコントロール）」を選ぶ</li><li>シート上でドラッグしてボタンを描く</li><li>マクロの登録画面で「フォームを開く」を選んで「OK」を押す</li><li>ボタンの文字を「名簿に登録」などに変える</li></ol>



<p class="wp-block-paragraph">これで、ボタンを押すだけで入力フォームが立ち上がります。名簿を使う人が、コードを意識せずに登録できるようになります。</p>



<h2 class="wp-block-heading"><span id="toc16">VBAユーザーフォームでよくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">ユーザーフォーム作りでつまずきやすいエラーを、3つにしぼって紹介します。</p>



<h3 class="wp-block-heading"><span id="toc17">「変数が定義されていません」と出る</span></h3>



<p class="wp-block-paragraph">オブジェクト名のタイプミスが原因のことがほとんどです。コードで <code>txtName</code> と書いているのに、部品のオブジェクト名が <code>TextBox1</code> のままだと、このエラーになります。</p>



<p class="wp-block-paragraph">プロパティウィンドウで、部品の「(オブジェクト名)」を確認してください。コードに書いた名前と、部品の名前が一致している必要があります。大文字小文字や全角半角の違いも見落としやすいポイントです。</p>



<p class="wp-block-paragraph">なお、変数の宣言を必須にする <code>Option Explicit</code> を使うと、タイプミスをこの段階で見つけやすくなります。詳しくは<a href="https://mashukabu.com/excel-vba-variable-explanation/">VBA変数の使い方</a>をご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc18">実行時エラー9：インデックスが有効範囲にありません</span></h3>



<p class="wp-block-paragraph">これは、指定したシート名が存在しないときに出ます。<code>Worksheets("名簿")</code> と書いているのに、実際のシート名が「顧客名簿」だと、このエラーになります。</p>



<p class="wp-block-paragraph">シート名のタイプミス、全角と半角の違い、余分なスペースがよくある原因です。実際のシート名を、コードにそのままコピーすると確実です。</p>



<h3 class="wp-block-heading"><span id="toc19">フォームが表示されない・反応しない</span></h3>



<p class="wp-block-paragraph"><code>UserForm1.Show</code> を書いたマクロを実行しているか、まず確認してください。フォームのコードを書いただけでは、フォームは表示されません。フォームを開くマクロを、別途実行する必要があります。</p>



<p class="wp-block-paragraph">また、ボタンを押しても反応しない場合は、イベント処理の名前を確認します。<code>Private Sub btnAdd_Click()</code> の <code>btnAdd</code> の部分に注目してください。ここがボタンのオブジェクト名と一致しているかをチェックします。</p>



<p class="wp-block-paragraph">その他のエラーについては、<a href="https://mashukabu.com/vba-error-guide/">VBAマクロのエラー解決ガイド</a>で頻出エラー別にまとめています。</p>



<h3 class="wp-block-heading"><span id="toc20">入力途中で誤って閉じても安心な設計に</span></h3>



<p class="wp-block-paragraph">実務で使うなら、登録ミスを防ぐ仕組みを足しておくと安心です。たとえば、電話番号が数字以外を含むときに警告を出すなど、項目ごとのチェックを追加できます。</p>



<p class="wp-block-paragraph">入力チェックは <code>If</code> 文を増やすだけです。エラーが出ても処理が止まらないようにするには、エラーハンドリングを組み合わせます。<code>On Error GoTo</code> の使い方は<a href="https://mashukabu.com/vba-error-handling-complete-guide/">VBAのエラーハンドリング完全ガイド</a>でくわしく解説しています。</p>



<h2 class="wp-block-heading"><span id="toc21">まとめ</span></h2>



<p class="wp-block-paragraph">ExcelのVBAユーザーフォームで入力フォームを作る方法を、3ステップで解説しました。最後にポイントを整理します。</p>



<ul class="wp-block-list"><li><strong>ステップ1</strong>：ツールボックスから部品を配置し、わかりやすいオブジェクト名を付ける</li><li><strong>ステップ2</strong>：登録ボタンのイベント処理に「入力チェック→最終行取得→書き込み」を書く</li><li><strong>ステップ3</strong>：<code>UserForm1.Show</code> でフォームを開くマクロを作り、シートのボタンに登録する</li><li>末尾への行追加は <code>Cells(Rows.Count, 1).End(xlUp).Row + 1</code> で書き込む行を決める</li><li>フォームやマクロを作ったブックは必ず <code>.xlsm</code> 形式で保存する</li></ul>



<p class="wp-block-paragraph">まずは「名前」「電話番号」「区分」のシンプルなフォームから、自分の台帳の項目に合わせて作ってみてください。動くフォームが1つできれば、項目を増やすのも簡単です。</p>



<p class="wp-block-paragraph">VBAの基本構文をテーマ別に学び直したい方は、こちらの記事もあわせてどうぞ。</p>



<ul class="wp-block-list"><li>条件分岐の基本は<a href="https://mashukabu.com/excel-vba-conditional-branch-explanation/">VBA If文の使い方</a></li><li>セル操作の基本は<a href="https://mashukabu.com/excel-vba-howto-use-range/">Excel VBAでRangeを使う方法</a></li><li>最終行取得は<a href="https://mashukabu.com/excel-vba-howto-get-lastrow/">Excel VBAで最終行を取得する方法</a></li><li>別シートへの転記は<a href="https://mashukabu.com/vba-copy-data-between-sheets/">VBAで複数シート間のデータを転記・集約する方法</a></li></ul>



<p class="wp-block-paragraph">VBA全体を体系的に学びたい方もいるでしょう。入門ハブ記事の<a href="https://mashukabu.com/excel-vba-automation-guide/">Excel VBAで仕事を自動化する方法</a>も参考にしてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-vba-userform-input/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
