【excel】vba初心者向け『入力フォーム』の作り方”オブジェクト作成編”

ExcelVBA

こんにちは、Fujiya(@fujiya_xyz)です。

今回は、エクセルの「VBAプログラミングをやってみたい人向け」に、実用的な自動化ツールの作り方を説明しています。

別の記事でも書きましたが、VBAを習得する上でメチャクチャ大事なのは自分で作ってみること

実は僕も1番最初に作ったのは入力自動化ツールで、入門用の練習プログラムとしては最適だと考えています。

僕はエンジニアやプログラマーではないのでプロのセオリーからは外れていますが、初めての人にもわかりやすく作っており、複雑なコードは使用しません。そして、出来るだけ専門用語は使わずに、説明を入れつつツールを作っていきます。

今回はユーザーーフォームの”見た目”を作ることに特化した内容です。コードの入力は次の記事となっていますのでお気を付けを。
⇒次の工程:【エクセル】vba初心者向け『入力フォーム』の作り方”コード記述編”

全て1つの記事にしてしまうと膨大な量になるので、ステップ踏んでいきたいと思います。

【excelvba初心者向け】入力フォームの”オブジェクトを作成する”

入力フォームのオブジェクト作成

今回の入力フォームは「氏名」「フリガナ」「性別」「住所」を作成し、フォームに入力をすることでシートの上から自動的に登録できるプログラムを作成していきたいと思います。

今回の作業一覧

  1. 開発タブの表示「VBE」の起動
  2. 入力フォームのベースを作成
  3. テキストボックスやボタンの配置

開発タブの表示と「VBE」の起動

さっそく専門用語(笑)。

「VBE」というのは「ビジュアルベーシックエディター」の略で、プログラムを作る機能のこと。覚える必要はないですが『【はじめてのExcelVBA】VBE(VisualBasicEditor)の起動方法』でも説明しているので一読していただくと理解がスムーズだと思います。

エクセルを操作するのに、通常は上のリボンにある「表示」や「挿入」を活用すると思うのですが、VBEは「開発」というタブの中にあります。

開発タブ

この「開発タブ」はデフォルトでは出てきません。なので、表示させることころから始めましょう。

開発タブの表示

「ファイル」⇒「オプション」の手順で下の画面を開き、「リボンのユーザー設定」から「開発」にチェックを入れ「OK」をクリック。

以上の手順で表示されます。

入力フォームのベースを作成

VBEを開く

開発タブから「VisualBasic」をクリックして下の画像にあたる編集画面を表示させます。

VBAの編集画面

編集画面の➀「挿入タグ」から「ユーザーフォーム」を選択すると、プロジェクトの枠内に「UserForm1」が表示されます(下画像)。

ユーザーフォームが表示される

右側のフォームにこれから「テキストボックス」や「ボタン」などを作成してくことになります。

フォームは角をドラッグすると自由にサイズを変えることが出来るので、今後活用していただければと思います。

今回はそこまで入力項目が多くないので、適度なサイズにします。

テキストボックスやボタンの配置

まず、とても重要なのが「ツールボックス」と「プロパティウィンドウ」の2つ。

ツールボックス

ツールボックスは「テキストボックス」や「ボタン」などユーザーフォームの部品を配置する際に使用する”工具箱”です。

ツールボックス

「UserForm1」が表示されたときに一緒に出てきているはず。

無い場合は「表示タブ」を開くと「ツールボックス」の項目があるのでクリックすると表示されます。

プロパティウィンドウ

もう1つ重要なのが「プロパティウィンドウ」。

場所はプロジェクトウィンドウの下に表示されているはず。(下画像)

プロパティウィンドウ

これはツールボックスで作った「テキストボックス」や「ボタン」の1つ1つに名前を付けたり、書体や色を変えたりするときに使います。

例えば・・・・「名前のテキストボックス」「フリガナのテキストボックス」など。

部品を配置していきます

今回の作業では、ツールボックスの中にある「ラベル」「テキストボックス」「コンボボックス」「コマンドボタン」を使用します。

それぞれ必要な数を用意し、配置していきます。

ラベル×4⇒それぞれの項目を作るのに使う
テキストボックス×3⇒「氏名」「フリガナ」「住所」に使う
コンボボックス×1⇒「性別」を選ぶのに使う
コマンドボタン×1⇒登録するのに使う

ツールボックスからの配置

こんな感じで配置していきます。

そして、各パーツ(オブジェクト)の「キャプション」を変更していきます。

「キャプション」というのは”表示名“です。

例えば、フォームの左上にある表示名を「UserForm1」から「入力フォーム」に変更することが出来ます。

実際にやってもらった方がイメージできると思います。

フォームのオブジェクト(フォーム自体)をクリックし、UserForm1のプロパティを表示させます。

プロパティウィンドウでフォームの名前を変更

上から5番目の「Caption」の表示を「UserForm1」から「入力フォーム」に変更。(上画像)

すると、オブジェクトのユーザーフォームの表示名が変わるはず。

この手順で各オブジェクトをクリックし、それぞれ「Caption」の表示を変更していきます。(下画像)

各キャプションの変更

全て変更すれば、入力フォームのカタチは完成します。

※テキストボックスとコンボボックスはありません。ちなみに僕の場合はラベルのキャプション設定を「Font」の項目で「フォント名」を”メイリオ”、「スタイル」を”レギュラー”、「サイズ」を”12″に設定しています。コマンドボタンのキャプション設定は「フォント名」を”メイリオ”、「スタイル」を”ボールドイタリック”、「サイズ」を”9″に設定しています。

入力フォームのカタチが完成

今回の作業は終了です。
最後までお付き合いいただきありがとうございました。

【excelvba初心者向け】入力フォームの”オブジェクトを作成する”|まとめ

今回は『オブジェクトの作成』がメインでした。

今回の作業まとめ

  • 入力フォームを作成するためにエディタを開く
  • 入力フォームのベースを作成
  • 入力フォームの部品を配置

ここまで問題なく作業できましたでしょうか?、、、慣れるまでは時間が掛かるかもしれません。

何事も継続です。ですが、オブジェクトの量が多くなるとかなり面倒になります(笑)。

僕は結構好きな作業なんです。プログラミングっぽさは全く無いですけどね。

次回はプログラミングコードを入力していきたいと思います。

次の作業はコチラ「コード記述編」

最後まで読んでいただき、ありがとうございました。

僕はVBAプログラミングツールの無料配布もしているので下にリンクを貼っておきます。実際に会社で使っていただいており、実績もあります。

ツール作成の参考にしていただくのにも良い材料になると思います。

無料配布ツール一覧