ユーザーフォーム入門
第2回.フォームのプロパティ

Excelマクロのユーザーフォームの基礎、エクセルVBAの入門解説
最終更新日:2019-12-13

第2回.フォームのプロパティ


プロパティはたくさんありますね。


マクロ VBA サンプル画像

これ全部理解するのは大変です、

いずれは、全て理解するに越したことはないですが、

とりあえず、必要最低限のプロパティだけは把握しておきましょう。



プロパティ 説明
ActiveControl コンテナ コントロール上のアクティブ コントロールを取得または設定します。
BackColor 背景色を設定することができます。
BorderColor BorderStyleが1の時、枠の色を設定することができます。
BorderStyle フォームの枠に線を引くか引かないかの設定ができます。
Caption タイトルバーに表示される文字列の設定ができます。
Controls フォーム上に配置されたコントロールのコレクションを取得することが出来ます。
Enabled Trueで通常の表示と操作ができます、Falseでイベントが応答しなくなります。
Font フォーム上に配置されているコントロールの標準フォントを設定します。
ForeColor フォーム上に配置されているコントロールの標準の前景色を設定します。
Height フォームの高さの設定をすることができます。
Left StartupPositionが0(手動)のとき、ユーザーフォームが表示される水平位置を設定できます。
ShowModal ユーザー フォーム が作業ウィンドウ固定またはモードレスで表示されるように設定します。
実行時には値の取得のみ行えます。
設定 説明
TRUE (既定)ユーザー フォームは作業ウィンドウ固定です。
FALSE ユーザー フォームはモードレスです。
SpecialEffect フォームの枠のスタイルを設定することができます。
StartupPosition フォームが表示される時の位置を設定することができます。
Tag ユーザーが任意の値を設定することができます。
Top StartupPositionが0(手動)のとき、ユーザーフォームが表示される垂直位置を設定できます。
Visible フォームの表示/非表示の状態を取得します。
Width フォームの幅を設定することができます。
Zoom フォームの表示する時に拡大率を設定することができます。

とりあえず、このくらいを押さえておけば良いでしょう。


例えば、フォームのサイズはドラッグで変更できますが、

ドラッグでは、大雑把なサイズでしか設定できません、なかなかマウスでは細かい設定は無理ですよね。

そういう場合は、プロパティの数値を変更することで、正確なサイズを指定できます。

HeightWidthになります、ここに数値を指定しましょう。

ShowModal

ユーザー フォーム が作業ウィンドウ固定の場合、
ユーザーはアプリケーションの他の部分を使用する前に情報を提供するか、 ユーザー フォーム を閉じる必要があります。

ユーザー フォーム が非表示になるかアンロードされるまで、以降のコードは実行されません。
つまり、モーダルの場合、
バックにあるシートの操作は出来なくなります。

ユーザー フォーム がモードレスの場合、
ユーザーは、 ユーザー フォーム を閉じることなく、他のフォームまたはウィンドウを表示できます。
モードレスのフォームはタスク バーに表示されず、ウィンドウ タブ オーダーに従っていません。
つまり、モードレスの場合、
バックにあるシートの操作が可能となります。

標準モジュールで、
.Show
とだけした場合は、このプロパティに従いユーザーフォームが開かれます。
Sheoメソッドの引数で、モーダル・モードレスを指定する事も出来ます。

UserForm.Show vbModal ・・・ モーダル表示
UserForm.Show vbModelessl ・・・ モードレス表示




同じテーマ「ユーザーフォーム入門」の記事

第1回.ユーザーフォームを挿入
第2回.フォームのプロパティ
第3回.コントロールの追加(コマンドボタン)
第4回.コントロールの位置・サイズ調整
第5回.ラベルの追加
第6回.テキストボックス(TextBox)の追加
第7回.テキストボックス(TextBox)の値をセルへ
第8回.セルの値をテキストボックスへ
第9回.標準モジュールとフォーム間のデータ受け渡しⅠ
第10回.標準モジュールとフォーム間のデータ受け渡しⅡ
第11回.コンボボックス(ComboBox)の追加


新着記事NEW ・・・新着記事一覧を見る

トランザクション処理|SQL入門(12月11日)
インデックスを作成して高速化(CREATE INDEX)|SQL入門(12月9日)
他のテーブルのデータで追加/更新/削除|SQL入門(12月8日)
データの削除(DELETE)|SQL入門(12月7日)
データの更新(UPDATE)|SQL入門(12月6日)
複数のSELECT結果を統合(UNION,UNION ALL)|SQL入門(12月5日)
テーブルを結合して取得(INNER JOIN,OUTER JOIN)|SQL入門(12月4日)
データベースの正規化とマスタの作成|SQL入門(12月3日)
データベースにおけるNULLの扱い方|SQL入門(12月2日)
オブジェクト変数とは何か|VBA技術解説(12月2日)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|VBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.マクロって何?VBAって何?|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.ひらがな⇔カタカナの変換|エクセル基本操作



  • >
  • >
  • >
  • フォームのプロパティ

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
    掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
    本文下部へ