メニュー

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

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

2014/12/03 15:35|タグ:ユーザーフォームShowメソッドLoadメソッドグッジョブ表示 42

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つ以上のフォームを切り替えながら利用できます。

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

ページ移動

関連エントリー

コメント

  • コメントはまだありません。

コメント登録

登録フォーム
名前
メールアドレス
URL
コメント
投稿キー(スパム対策に、投稿キー を半角で入力してください。)

ユーティリティ

Twitter

サイト内検索

ページ上部へ