|
|
| Excel VBA Macro ・ ユーザーフォーム ・ FAQ |
ユーザーフォームのマクロを簡単に実行できるようにするには? ユーザーフォームの右上の[×ボタン]を無効にするには?
|
|
|
|
Question 14.6 |
|
 |
 |
|
|
いつも大変役に立っています。とてもわかりやすくてうれしいです。 質問なんですが、
ユーザーフォームにボタンなどを作成してマクロを作ったとしても、使うのがしろうとなので、
「Visual Basic Editerを開いてユーザーフォーム選択して実行」 だと、わかりにくいと思うので、
なんとか簡単にユーザーフォームのマクロを実行できるようにしたいんですが・・・
良い方法を教えてください。 (Excel97)
|
|
Answer |
Copyright (C) 1999.1.22 永井善王 |
|
|
いろいろな方法があると思います。
・ブックを普通に開いてから、メニューバーの「マクロ」から実行できれば良いなら、次のようになります。
1) あらかじめ、ユーザーフォームを表示するための下記のマクロを、標準モジュールに組んでおきます。
UserForm1.Show
くわしい書き方は、「テキストボックスの値をセルに記入するには?」のページ(下の方)を参考にしてください。
次に例示したダイアログボックスも、そのページのケースを使っています。
2) ブックを開いて「ツール」メニュー「マクロ」−「マクロ」と左クリックすると、下図のようなダイアログが映ります。

「マクロ名」を選んで[実行ボタン]を押すと、フォームが表示されます。
・関連事項として、ユーザーフォームの右上の[×ボタン]を無効にするマクロがあります。
これは、フォーム上に[OKボタン]や[キャンセルボタン]があるのに、ユーザーがそれを使わずに[×ボタン]を使ってしまうために生じるマクロの誤動作を防ぎます。
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode <> vbFormCode Then 'マクロから閉じられたのではないなら
Cancel = 1 'キャンセルする
End If
End Sub
・この他にも、フォームの表示位置を指定する「StartUpPosition」や、エクセルシートを映さずにフォームだけを映すなど、「Private Sub UserForm_Initialize()」を使って、いろいろなマクロが組めます。
エクセルのヘルプを参考にして、順に研究してみてください。
|
|
|
|
| |
|
|