• 虹色ミツバチ
  • freoカスタマイズメモ、テンプレート・プラグイン配布/officeTIPS
検索プラグイン
虹色ミツバチ

> Entry >MOS>Microsoft Office Excel>マクロ/VBA> モードレスでフォームを開くマクロ

【MOS】【Microsoft Office Excel】【マクロ/VBA】モードレスでフォームを開くマクロ

VBAでモードレスでユーザーフォームを開く方法は以下のとおりです。

「Add_Address_Form」というフォームを「Open_Add_Address_Form」というマクロで開くときの書き方です。

Showメソッドでフォームを開く

Sub Open_Add_Address_Form()
'========================================
'住所追加フォームを開くマクロ
'========================================
    Add_Address_Form.Show  '//フォームを開く
End Sub

通常、Showメソッドでフォームを呼び出すと、呼び出したフォームが表示されている間は、フォームの操作以外の操作が出来ない状態になります。
例えば、フォーム以外のシート、セルの編集などはできません。

この状態を、モーダル(vbModal)といい、これがShowメソッドのデフォルト値です。

フォームを開くだけなら、上記2行目 Add_Address_Form.Show だけで十分です。
Showメソッドに vbModeless という引数を加えると、ユーザーフォームをより便利に利用できます。

モードレスでフォームを開く

フォームを開きながら、フォーム以外の操作をしたい場合、複数のフォームを使用したい場合などは、モードレス(vbModeless )を利用するとよいでしょう。

Sub Open_Add_Address_Form()
'========================================
'住所追加フォームを開くマクロ
'========================================
    Add_Address_Form.Show vbModeless    '//フォームを開く
End Sub

Showメソッドに引数 vbModeless を加えると、

  • ユーザーフォームを表示したまま選択しているセル範囲の内容を変更できます。
  • 2つ以上のフォームを切り替えながら利用できます。

など、フォームをより便利に利用できます。

ページ移動

関連記事

ユーティリティ

Twitter

ページ上部へ