- ベストアンサー
EXCEL-VBAでコマンドボタンに条件を追加したい
EXCEL-VBAでコマンドボタンを実行出来る 条件を追加したいです。 初心者なので基本的な質問ですみませんが、 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
Sub CommandButton1_Click() if 条件式 then 'いつもの作業作業 end if End Sub とするか、あるいは有効無効を切り替えるタイミングで CommandButton1.Enabled=falseにするか
その他の回答 (4)
Static(静的変数)でコマンドボタンがクリックされたか否かを判定するというやり方が一般的です。 Private Sub CommandButton1_Click() Static isClick As Boolean If Not isClick Then isClick = True Debug.Print "Test!" isClick = False End If End Sub
- otto0001otto
- ベストアンサー率25% (64/249)
実行中 CommandButton1.Enabled = False としておけばいいのでは?
質問内容と意図が不明ですが・・・。 Worksheets("Sheet1")にCommandButton1が配置されているとします。 ブックをオープン時にパスワードを要求します。 一致しなければ、CommandButton1を無効化します。 1,コードを表示。 2,[挿入]-[標準モジュール]をクリック。 3,Module1に以下のコードを書く。 Option Explicit Const conPassword = "abc" Public Sub Auto_Open() Dim strPassword As String strPassword = InputBox("パスワードを入力して下さい!") Worksheets("Sheet1").CommandButton1.Enabled = CBool(strPassword = conPassword) End Sub *難点は、オープン時のみに有効・無効を設定し途中で変更できないことです。 *コマンドボタンのクリックイベントに書けば良いかも知れません。
- hana-hana3
- ベストアンサー率31% (4940/15541)
ボタンに対しての実行条件を付ける事はできません。 コマンドボタンが押されたら、プログラムが実行されて仕舞うので、実行前に条件を満たしているかをチェックして、VBAの実行を継続するか中止するかの判断をするプログラムを追加する事になります。 どのような条件で実行したいのでしょうか?
補足
コマンド実行中に再度ボタンを押せないように条件を 付けてやりたいんですが。
お礼
CommandButton1.Enabled=falseで実行ボタンを 無効に切り替えるようにします。 どうもありがとうございました。