ここから本文です

マクロを無効にするマクロ 無効ボタンを押したら指定したマクロを無効→有効ボタ...

shi********さん

2016/7/719:08:54

マクロを無効にするマクロ

無効ボタンを押したら指定したマクロを無効→有効ボタンを押したらマクロ有効
というように指定したマクロを一時的に解除できるマクロを作りたいのですが、

何かいい方法はありますでしょうか?

よろしくお願いします。

閲覧数:
661
回答数:
2
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

set********さん

2016/7/1123:31:45

下の図のように、
・シート上に有効・無効のコマンドボタンを一つ配置し、
・それをクリックするとボタンが有効⇔無効の表示に交互に切り替わり、
・マクロの実行も有効⇔無効に変わる、
方法でどうでしょうか?


①先ず、シート上に、「ActiveXコントロール」の「CommandButton1」を配置します(下の図で「有効」と表示されたボタン)。

②「CommandButton1」を何度か右クリックし、プルダウンの「コードの表示」をクリックし、表示されたVBE画面の、

Private Sub CommandButton1_Click()
End Sub

に、

Private Sub CommandButton1_Click()
If CommandButton1.Caption = "CommandButton1" Then
Sw = "有効"
CommandButton1.Caption = "有効"
ElseIf CommandButton1.Caption = "有効" Then
Sw = "無効"
CommandButton1.Caption = "無効"
ElseIf CommandButton1.Caption = "無効" Then
Sw = "有効"
CommandButton1.Caption = "有効"
End If
End Sub

の構文を、上書きコピペします。

③次に、シート上に、「フォームコントロール」の「ボタン」を配置します(下の図で「マクロの実行」と表示されたボタン)。
・ボタンのタイトルは適当に変えて下さい。
④次に、「標準モジュール」に下記の構文を貼り付けます。
・あくまで、テスト用の参考マクロです。

Public Sw As String
Sub Macro1()
If Sw = "無効" Then Exit Sub
MsgBox "マクロが実行されました" '実際の指定したマクロに置換えのこと
End Sub

⑤そして、「ボタン」に上記の「Macro1」を登録します。


以上の処理をした上で、「有効・無効」のコマンドボタンを何度か切り替えながら「マクロの実行」ボタンを実行してみて下さい。

下の図のように、
・シート上に有効・無効のコマンドボタンを一つ配置し、...

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

akm********さん

編集あり2016/7/719:38:00

そもそも、そんな機能があるのか知りませんが、矛盾しているから、実現できない

マクロを無効にしたら、有効にするマクロが動かないです。

指定したマクロとは、一部のマクロだけと言うことですか?
なら、あるセルが trueなら処理を続けて、falceなら処理を終了するようにそのマクロの最初にかくぐらいでしょう

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる