
Excel 2013のシート上に、フォームコントロールのチェックボックスが配置してあり、
そのチェックボックスにマクロが登録されていますが、一時的にマクロを実行したくない場合、
VBAで Shapes("Check Box 1").ControlFormat.Enabled = False とすると、
チェック出来なくなり、マクロも実行出来なくなっていいのですが、
チェックボックスをダブルクリックすると登録したマクロが実行出来てしまいます。
これを実行出来なくする方法を、お判りの方・いいアイデアのある方がいらしたら教えて下さい。
こうゆう仕様なのでしょうか?........ 図形でも同じ動きでした。
ActiveXのチェックボックスだと出来そうなのは分るのですが、
フォームコントロールのチェックボックスで制御できないものでしょうか?
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは。
フォームコントロールで、起動を止める方法は、今のところ2つ浮かびます。
1.一般的な方法
CheckBox に取り付けているマクロはどのようなものにしても、以下のように、フラグを付けて、離脱するか決めさせます。
Private Const flg As Boolean = True '←このようにして、マクロの実行を止めます
Sub チェック1_Click()
If flg Then Exit Sub 'Trueの場合はマクロを実行しない
Range("A1").Value = Range("A1").Value + 1
End Sub
2. このようにして、マクロの登録を回避させ空白にして、「代替えテキスト」に移してしまいます。
タブルクリックしても、メッセージなども出てきません。戻す時は、逆の方法を取ります。
Sub Macro1()
Dim bln As Boolean
Dim chkb As Object
For Each chkb In ActiveSheet.CheckBoxes
chkb.ShapeRange.AlternativeText = chkb.OnAction 'マクロの命令を退避させる
chkb.OnAction = ""
Next
End Sub
chb.OnAction の部分にダミーマクロを入れてあげても可能ですが、元のマクロコードに戻すためには、どこかにコードは置いておかなくてはなりません。また、chb.OnAction = "+" & chb.OnAction でもよいのですが、ダブルクリツクすると、「マクロが見つからない」というエラー表示をします。
回答頂きありがとうございます。
大変、参考になりました、代替テキストを使うという手があるとは、思いもしませんでした。
ダブルクリックそのものを止める方法がもしかしたら、あるのかな?と思ったのですが、
やはり、一般的な方法のフラグで処理するのがよさそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/22 11:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Excel(エクセル) エクセルVBAでチェックボックスにチェックを入れる 1 2022/09/14 00:52
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/12 10:10
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メッセージボックスのOKボタ...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel_マクロ_現在開いているシ...
-
ExcelのVBA。public変数の値が...
-
ExcelVBAでPDFを閉じるソース
-
マクロの連続印刷が突然不可能...
-
マクロ
-
特定文字のある行の前に空白行...
-
一つのTeratermのマクロで複数...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
2つのマクロでチェックボックス...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
マクロ実行時エラー
-
パフォーマンスについて
-
エクセルで縦に並んだデータを...
-
Excelのセル値に基づいて図形の...
-
wordを起動した際に特定のペー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
Excel_マクロ_現在開いているシ...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
エクセルで別のセルにあるふり...
-
エクセルに張り付けた写真のフ...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
Excelのセル値に基づいて図形の...
-
Excel VBAからAccessマクロを実...
-
ExcelVBAでPDFを閉じるソース
-
マクロ実行時、ユーザーフォー...
-
オートフィルターとExcelマクロ...
-
wordを起動した際に特定のペー...
-
特定文字のある行の前に空白行...
-
エクセルで縦に並んだデータを...
おすすめ情報