• ベストアンサー

EXCEL-VBAでコマンドボタンに条件を追加したい

EXCEL-VBAでコマンドボタンを実行出来る 条件を追加したいです。 初心者なので基本的な質問ですみませんが、 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#20377
noname#20377
回答No.1

Sub CommandButton1_Click() if 条件式 then 'いつもの作業作業 end if End Sub とするか、あるいは有効無効を切り替えるタイミングで CommandButton1.Enabled=falseにするか

n-hayato
質問者

お礼

CommandButton1.Enabled=falseで実行ボタンを 無効に切り替えるようにします。 どうもありがとうございました。

その他の回答 (4)

noname#22222
noname#22222
回答No.5

Static(静的変数)でコマンドボタンがクリックされたか否かを判定するというやり方が一般的です。 Private Sub CommandButton1_Click()   Static isClick As Boolean      If Not isClick Then     isClick = True     Debug.Print "Test!"     isClick = False   End If End Sub

回答No.4

実行中 CommandButton1.Enabled = False としておけばいいのでは?

noname#22222
noname#22222
回答No.3

質問内容と意図が不明ですが・・・。 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)
回答No.2

ボタンに対しての実行条件を付ける事はできません。 コマンドボタンが押されたら、プログラムが実行されて仕舞うので、実行前に条件を満たしているかをチェックして、VBAの実行を継続するか中止するかの判断をするプログラムを追加する事になります。 どのような条件で実行したいのでしょうか?

n-hayato
質問者

補足

コマンド実行中に再度ボタンを押せないように条件を 付けてやりたいんですが。

関連するQ&A