第2回.フォームのプロパティ
ユーザーフォーム入門として基礎から解説します。
フォームのプロパティの主要なものについて説明します。
フォームの全プロパティ

いずれは、全て理解するに越したことはないですが、
とりあえず、以下に掲載している必要最低限のプロパティだけは把握しておきましょう。
フォームの主要なプロパティ
プロパティ | 説明 | ||||||
ActiveControl | コンテナ コントロール上のアクティブ コントロールを取得または設定します。 | ||||||
BackColor | 背景色を設定することができます。 | ||||||
BorderColor | BorderStyleが1の時、枠の色を設定することができます。 | ||||||
BorderStyle | フォームの枠に線を引くか引かないかの設定ができます。 | ||||||
Caption | タイトルバーに表示される文字列の設定ができます。 | ||||||
Controls | フォーム上に配置されたコントロールのコレクションを取得することが出来ます。 | ||||||
Enabled | Trueで通常の表示と操作ができます、Falseでイベントが応答しなくなります。 | ||||||
Font | フォーム上に配置されているコントロールの標準フォントを設定します。 | ||||||
ForeColor | フォーム上に配置されているコントロールの標準の前景色を設定します。 | ||||||
Height | フォームの高さの設定をすることができます。 | ||||||
Left | StartupPositionが0(手動)のとき、ユーザーフォームが表示される水平位置を設定できます。 | ||||||
ShowModal ※別途解説 |
ユーザー フォーム が作業ウィンドウ固定またはモードレスで表示されるように設定します。 実行時には値の取得のみ行えます。
|
||||||
SpecialEffect | フォームの枠のスタイルを設定することができます。 | ||||||
StartupPosition | フォームが表示される時の位置を設定することができます。 | ||||||
Tag | ユーザーが任意の値を設定することができます。 | ||||||
Top | StartupPositionが0(手動)のとき、ユーザーフォームが表示される垂直位置を設定できます。 | ||||||
Visible | フォームの表示/非表示の状態を取得します。 | ||||||
Width | フォームの幅を設定することができます。 | ||||||
Zoom | フォームの表示する時に拡大率を設定することができます。 |
とりあえず、このくらいを押さえておけば良いでしょう。
ドラッグでは、大雑把なサイズでしか設定できません、なかなかマウスでは細かい設定は無理ですよね。
そういう場合は、プロパティの数値を変更することで、正確なサイズを指定できます。
サイズのプロパティは、HeightとWidthになります。
ここの数値を変更することでサイズが変わります。
実際にプロパティを変更して変化した様子を確認すると覚えやすいものです。
ShowModalについて
ユーザーはアプリケーションの他の部分を使用する前に情報を提供するか、 ユーザー フォーム を閉じる必要があります。
ユーザー フォーム が非表示になるかアンロードされるまで、以降のコードは実行されません。
つまり、モーダルの場合、
バックにあるシートの操作は出来なくなります。
ユーザーは、 ユーザー フォーム を閉じることなく、他のフォームまたはウィンドウを表示できます。
モードレスのフォームはタスク バーに表示されず、ウィンドウ タブ オーダーに従っていません。
つまり、モードレスの場合、
バックにあるシートの操作が可能となります。
以下でもう少し詳しく解説します。
モーダルとは、Windowsに良くあるダイアログ画面です。
モーダルの場合は、
ユーザーフォームが表示されている間
Showメソッドの実行で止まり次には進みません。
Showメソッドの次のステートメントに進みます。
モードレスとは、画面表示中に他の処理ができる表示になります。
モードレスの場合は、
ユーザーフォームが表示されている間
Showメソッドの次のステートメントに進みます。
..Showで画面が表示され、そのまま次のステートメントに進んで処理が終了した状態のままになっています。
引数を省略した場合は、ShowModalプロパティに従いユーザーフォームが開かれます。
ShowModalプロパティの値に関わらず、モーダル/モードレスを指定する事が出来ます。
UserForm.Show vbModelessl ・・・ モードレス表示
シートのボタン押下等でフォーム画面を表示し、フォーム画面のOKボタンでシート操作に戻る。
良くあるこのような操作で使うのがモーダルになります。
シートのボタン押下等でフォーム画面を表示した後、
シート操作→フォーム画面操作→シート操作→フォーム画面操作・・・
このような操作を実現したい場合にモードレスを使います。
良くある例としては、
・シート操作の補助機能として複数のセル範囲の選択をさせる
モーダル/モードレスにより、VBAの構造は大きく違ってきます。
なにより設計からして全く違ってきます。
モードレスの場合はシート操作ができるので、アクティブシートも随時変化します。
したがって、モーダルに比べるとモードレスの方が設計が大変になる場合が多いでしょう。
今回はここまでです。
次回からは、フォームにいろいろな部品を追加していきます。
ではまた次回お会いしましょう。
同じテーマ「ユーザーフォーム入門」の記事
第1回.ユーザーフォームを挿入
第2回.フォームのプロパティ
第3回.コントロールの追加(コマンドボタン)
第4回.コントロールの位置・サイズ調整
第5回.ラベルの追加
第6回.テキストボックス(TextBox)の追加
第7回.テキストボックス(TextBox)の値をセルへ
第8回.セルの値をテキストボックスへ
第9回.標準モジュールとフォーム間のデータ受け渡しⅠ
第10回.標準モジュールとフォーム間のデータ受け渡しⅡ
第11回.コンボボックス(ComboBox)の追加
新着記事NEW ・・・新着記事一覧を見る
第5章:AI×VBAでつまづかない!トラブルシューティングとAIとの付き合い方
|生成AI活用研究(2025-05-20)
第4章:【事例で学ぶ】AIとVBAでExcel作業を劇的に効率化する!
|生成AI活用研究(2025-05-20)
第3章:AIを「自分だけのVBA先生」にする!質問・相談の超実践テクニック|生成AI活用研究(2025-05-19)
第2章 VBAって怖くない!Excelを「言葉で動かす」(超入門)|生成AI活用研究(2025-05-18)
第1章:AIって一体何?あなたのExcel作業をどう変える?(AI超基本)|生成AI活用研究(2025-05-18)
AI時代のExcel革命:AI×VBAで“書かない自動化”超入門|生成AI活用研究(2025-05-17)
Geminiと100本ノック 23本目:シート構成の一致確認|生成AI活用研究(5月16日)
AIが問う出版の未来は淘汰か進化か:AIと書籍の共存の道とは|生成AI活用研究(2025-05-16)
Geminiと100本ノック 22本目:FizzBuzz発展問題|生成AI活用研究(5月15日)
すぐに使える!生成AI プロンプト作成 実践ガイド|生成AI活用研究(2025-05-15)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.繰り返し処理(For Next)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.ひらがな⇔カタカナの変換|エクセル基本操作
6.RangeとCellsの使い方|VBA入門
7.メッセージボックス(MsgBox関数)|VBA入門
8.セルのクリア(Clear,ClearContents)|VBA入門
9.FILTER関数(範囲をフィルター処理)|エクセル入門
10.条件分岐(Select Case)|VBA入門
- ホーム
- マクロVBA応用編
- ユーザーフォーム入門
- フォームのプロパティ
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。