すぐに役立つエクセルVBAマクロ集 すぐマク
すぐに役立つ Excel VBA マクロ集 Excel VBA Macro
FAQ
Google
 
Home |  What's New! |  Gallery |  Introduction |  Service |  Profile 500連発・組み方講座フォロー Big Color Pallet
[広告]
Excel VBA Macro
Excel DownLoad
© 1997 - 2007
永井善王.
All RightsReserved.
HappyTech & Co., Ltd.
www.happy500z.com
Excel VBA Macro ・ ユーザーフォーム ・ FAQ
ユーザーフォームのマクロを簡単に実行できるようにするには?
ユーザーフォームの右上の[×ボタン]を無効にするには?
Question 14.6 Previous Next
いつも大変役に立っています。とてもわかりやすくてうれしいです。 質問なんですが、

ユーザーフォームにボタンなどを作成してマクロを作ったとしても、使うのがしろうとなので、 「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()」を使って、いろいろなマクロが組めます。
エクセルのヘルプを参考にして、順に研究してみてください。
Click here to visit our sponsor