Excel VBA

Excel VBA | おしゃれなユーザーフォームを:各コントロール解説[2/3]

2024年4月9日

本ページはプロモーションが含まれています

vbaユーザーフォームアイキャッチ画像2

この記事は以下のコントロールについて解説しています。

  • フレーム
  • コマンドボタン
  • タブストリップ
  • マルチページ

フレーム

vbaユーザーフォームフレーム画像

フレームは、ユーザーフォーム上で関連するコントロールをグループ化するためのコンテナコントロールです。
フレーム内に配置されたコントロールは、視覚的にまとまりを持ち、ユーザーに情報の整理や操作のしやすさを提供します。
一般的に、フレームは類似の機能や目的を持つコントロールをまとめるために使用されます。
例えば、同じ種類のラジオボタンやチェックボックス、テキストボックスなどをフレーム内に配置して、関連する操作をグループ化することができます。

フレームの主な特徴

  1. グループ化
    フレームは、関連するコントロールをまとめてグループ化するために使用されます。例えば、住所入力に関するテキストボックスやラベルを1つのフレームにまとめることができます。
  2. 移動とサイズ変更
    フレーム内のコントロールは、フレームごとにまとめて移動したりサイズ変更したりすることができます。これにより、ユーザーフォームのデザイン変更が容易になります。
  3. 視覚的な区切り
    フレームを使用することで、ユーザーフォームに視覚的な区切りを設けることができます。これにより、ユーザーがフォームを利用する際に、各セクションが明確に区別されるようになります。
  4. タブキーの順序
    レームを使用すると、タブキーを押してフォーカスを移動させる際の順序も管理しやすくなります。フレーム内のコントロールにフォーカスが移る前に、他のフレームのコントロールにフォーカスが移ることはありません。

フレームのサンプルコード

Private Sub UserForm_Initialize()
    ' フレームの設定
    Frame1.Caption = "個人情報"
    
    ' フレーム内のラベルの設定
    Label1.Caption = "名前:"
    Label1.Top = 20
    Label1.Left = 10
    
    ' フレーム内のテキストボックスの設定
    TextBox1.Top = Label1.Top
    TextBox1.Left = Label1.Left + 50
    TextBox1.Width = 100
    
    ' フレーム内の他のコントロールも同様に設定
    Label2.Caption = "年齢:"
    Label2.Top = Label1.Top + 30
    Label2.Left = Label1.Left
    
    TextBox2.Top = Label2.Top
    TextBox2.Left = Label2.Left + 50
    TextBox2.Width = 50
End Sub

フレームの主なプロパティ

  1. (オブジェクト名): フレームの識別名を指定します。VBAコード内でフレームを参照する際に使用されます。
  2. Caption(キャプション): フレームに表示されるテキストを指定します。
  3. Enabled(有効性): フレームが有効か無効かを指定します。True(有効)またはFalse(無効)の値を取ります。
  4. Visible(可視性): フレームが表示されるかどうかを指定します。True(表示)またはFalse(非表示)の値を取ります。
  5. BackColor(背景色): フレームの背景色を指定します。
  6. ForeColor(前景色): フレームのテキストの色を指定します。
  7. BorderStyle(境界線スタイル): フレームの境界線のスタイルを指定します(Single、Double、Noneなど)。
  8. SpecialEffect(特殊効果): フレームの特殊効果(Flat、Sunken、Raisedなど)を指定します。
  9. Font(フォント): フレーム内のテキストのフォントの種類、サイズ、スタイルを指定します。

コマンドボタン

vbaユーザーフォームコマンドボタン画像

ボタン(Button)は、ユーザーフォームに配置されるコントロールの一つで、ユーザーがクリックすることで特定の操作を実行するために使用されます。
ボタンは、マクロやプロシージャを実行するトリガーとして機能し、ユーザーフォームの操作性を向上させるために重要な役割を果たします。

ボタンのサンプルコード

Private Sub CommandButton1_Click()
    MsgBox "ボタンがクリックされました"
End Sub

ボタンの主なプロパティ

  1. (オブジェクト名): ボタンの識別名を指定します。VBAコード内でボタンを参照する際に使用されます。
  2. Caption(キャプション): ボタンに表示されるテキストを指定します。
  3. Enabled(有効性): ボタンが有効か無効かを指定します。True(有効)またはFalse(無効)の値を取ります。
  4. Visible(可視性): ボタンが表示されるかどうかを指定します。True(表示)またはFalse(非表示)の値を取ります。
  5. BackColor(背景色): ボタンの背景色を指定します。
  6. ForeColor(前景色): ボタンのテキストの色を指定します。
  7. Font(フォント): ボタンのフォントの種類、サイズ、スタイルを指定します。
  8. AutoSize(自動サイズ調整): Trueに設定すると、ボタンのサイズが自動的にテキストに合わせて調整されます。
  9. Default(デフォルトボタン): フォーム内でEnterキーが押されたときに動作するボタンを指定します。True(デフォルト)またはFalse(非デフォルト)の値を取ります。

タブストリップ

vbaユーザーフォームタブストリップ画像

タブストリップ(TabStrip)は、Excel VBAのユーザーフォームで使用されるコントロールの一つで、複数のタブ(Tab)を持つことができ、ユーザーがクリックすることで異なるページやセクションに切り替えることができます。
タブストリップを使うことで、情報をカテゴリごとに整理し、ユーザーフォームのスペースを有効活用することができます。

タブストリップの主な特徴

  1. 複数のタブ
    一つのタブストリップ内に複数のタブを追加することができ、各タブは異なるコンテンツを表示します。
  2. ユーザーインターフェースの整理
    タブを使って情報をグループ化することで、ユーザーフォームのレイアウトが整い、ユーザーにとって使いやすいインターフェースを作成できます。
  3. 動的なコンテンツ切り替え
    ユーザーがタブを切り替えると、それに応じたコンテンツが表示されます。これにより、一つのフォームで多くの情報を扱うことが可能になります。

タブストリップの設定例

Private Sub UserForm_Initialize()
    ' タブストリップにタブを追加
    With TabStrip1
        .Tabs.Add , , "Tab1" ' 1つ目のタブを追加
        .Tabs.Add , , "Tab2" ' 2つ目のタブを追加
        .Tabs.Add , , "Tab3" ' 3つ目のタブを追加
    End With

    ' 初期表示の設定
    TabStrip1.Value = 0 ' 最初のタブを選択
End Sub

Private Sub TabStrip1_Change()
    ' 選択されたタブに応じて表示する内容を変更
    Select Case TabStrip1.Value
        Case 0
            ' Tab1が選択されたときの処理
            Label1.Caption = "これはタブ1の内容です"
        Case 1
            ' Tab2が選択されたときの処理
            Label1.Caption = "これはタブ2の内容です"
        Case 2
            ' Tab3が選択されたときの処理
            Label1.Caption = "これはタブ3の内容です"
    End Select
End Sub

タブストリップの主なプロパティ

  1. (オブジェクト名): タブストリップの識別名を指定します。VBAコード内でタブストリップを参照する際に使用されます。
  2. Enabled(有効性): ボタンが有効か無効かを指定します。True(有効)またはFalse(無効)の値を取ります。
  3. BackColor(背景色): タブストリップの背景色を指定します。
  4. ForeColor(前景色): タブストリップのテキストの色を指定します。
  5. Font(フォント): タブストリップのフォントの種類、サイズ、スタイルを指定します。
  6. Visible(可視性): ボタンが表示されるかどうかを指定します。True(表示)またはFalse(非表示)の値を取ります。

マルチページ

vbaユーザーフォームマルチページ画像
vbaユーザーフォームマルチページ画像1
vbaユーザーフォームマルチページ画像2

タブストリップはどちらを開いても配置された同じコントロールが表示されますが、マルチページはPage1Page2で配置するコントロールを分けることができます。

マルチページの主な特徴

  1. 複数ページ
    一つのマルチページコントロール内に複数のページを追加できます。各ページは独自のコントロールを持ち、それぞれ異なる内容を表示できます。
  2. ページ切り替え
    ユーザーがタブをクリックすることで、簡単に異なるページに切り替えることができます。
  3. UIの整理
    マルチページを使用することで、ユーザーフォームの情報をカテゴリごとに整理し、わかりやすく配置することができます。

マルチページのサンプルコード

Private Sub UserForm_Initialize()
    ' マルチページにページを追加
    With MultiPage1
        .Pages.Add "基本情報", "Page1"
        .Pages.Add "詳細情報", "Page2"
        .Pages.Add "その他情報", "Page3"
    End With

    ' 各ページにラベルを設定
    MultiPage1.Pages(0).Controls.Add "Forms.Label.1", "Label1"
    MultiPage1.Pages(0).Controls("Label1").Caption = "これは基本情報のページです"
    
    MultiPage1.Pages(1).Controls.Add "Forms.Label.1", "Label2"
    MultiPage1.Pages(1).Controls("Label2").Caption = "これは詳細情報のページです"
    
    MultiPage1.Pages(2).Controls.Add "Forms.Label.1", "Label3"
    MultiPage1.Pages(2).Controls("Label3").Caption = "これはその他情報のページです"
End Sub

マルチページの主なプロパティ

  1. (オブジェクト名): マルチページの識別名を指定します。VBAコード内でマルチページを参照する際に使用されます。
  2. Enabled(有効性): マルチページが有効か無効かを指定します。True(有効)またはFalse(無効)の値を取ります。
  3. Visible(可視性): マルチページが表示されるかどうかを指定します。True(表示)またはFalse(非表示)の値を取ります。
  4. BackColor(背景色): マルチページの背景色を指定します。
  5. ForeColor(前景色): マルチページのテキストの色を指定します。
  6. Font(フォント): マルチページ内のテキストのフォントの種類、サイズ、スタイルを指定します。
  7. BorderStyle(境界線スタイル): マルチページの境界線のスタイルを指定します(Single、Double、Noneなど)。
  8. TabOrientation(タブの方向): タブの配置方向を指定します(上、下、左、右)。
  9. TabFixedWidth(タブの固定幅): タブの幅が固定されるかどうかを指定します。

まとめ

  • フレーム:
    • 関連するコントロールをグループ化するためのコンテナコントロール。
    • 視覚的にまとまりを持たせ、情報の整理や操作のしやすさを提供。
  • コマンドボタン:
    • ユーザーがクリックすることでアクションをトリガーするためのボタン。
    • グラフィカルなインターフェースを提供し、ユーザーに操作の選択肢を提示。
  • タブストリップ:
    • 複数のタブを持つタブコントロール。
    • タブを切り替えることで異なるコンテンツを表示し、情報を整理する。
  • マルチページ:
    • 複数のページを持つタブコントロール。
    • ページを切り替えることで異なる情報やコントロールを表示し、画面を効果的に利用する。

Follow me!

-Excel VBA
-,

PAGE TOP