TOP

VBA-レッスン 12.1。ユーザーフォーム (UserForm)

UserForm オブジェクトは、アプリケーションのユーザー インターフェイスの一部であるウィンドウまたはダイアログ ボックスです。

UserForm を使用すると、プロジェクト内にウィンドウまたはダイアログ ボックスを作成できます。フォーム上に描画すると、コントロールが表示されます。

ユーザーフォームには、位置、サイズ、色、動作の側面などの外観を定義するプロパティがあります。

フォームを開発するとき:

  • 各フォーム ウィンドウには、最小化、展開、および閉じるボタンがあります。
  • [オプション] ダイアログ ボックスの [全般] タブで、形状グリッドを表示し、グリッド線のサイズを変更できます。
  • ツールバーのボタンを使用して、フォーム上にコントロールを描画します。 [オプション] ダイアログ ボックスの [全般] タブでは、フォーム グリッドに合わせてコントロールをカスタマイズできます。

  • フォームの作成 (UserForm)

    UserForm を追加するには、新しいモジュールを追加するときに同じことを行う必要があります。

    その後、フォーム (UserForm) とツールバー (ツールボックス) が表示されます。

    [プロパティ] ウィンドウ (Properties) が表示されていない場合は、それが表示されていることを確認してから、名前 UserForm を編集して始めます (これにより、後で簡単に見つけることができます)。

    フォーム (UserForm) には、ワークブックやシートと同様に独自のイベントがあります。イベントを追加するには、UserForm をダブルクリックします。

    次に、これがどのように機能するかを確認するために 2 つのイベントを作成してみましょう。最初のイベントは UserForm の初期サイズを設定し、2 番目のイベントはユーザーがクリックするとそのサイズを 50 ピクセルずつ増加します。

    UserForm_Initialize イベントは、UserForm の開始時に発生します。

    Private Sub UserForm_Initialize()
        my_userform.Height = 100
        my_userform.Width  = 100
    End Sub
    

    コードを簡略化するために、UserForm という名前の代わりに Me を使用できます (このコードは作業している UserForm 内にあるため)。

    Private Sub UserForm_Initialize()
        Me.Height = 100
        Me.Width  = 100
    End Sub
    

    2 番目のイベントは、ユーザーが UserForm をクリックしたときに発生します。

    Private Sub UserForm_Initialize()
        Me.Height = 100
        Me.Width  = 100
    End Sub
    
    Private Sub UserForm_Click()
        Me.Height = Me.Height + 50
        Me.Width  = Me.Width + 50
    End Sub
    

    起動フォーム (UserForm)

    プロシージャで UserForm を実行するには、Show を使用します。

    Sub show_userform()
         my_userform.Show
    End Sub