
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で質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
エクセルで縦に並んだデータを...
-
wordを起動した際に特定のペー...
-
ダブルクリックで貼り付けた画...
-
UWLSの記録でマクロを作成し使...
-
ExcelのVBAを使ってタイトル行...
-
EXCEL VBAでマクロの最後でFind...
-
オフィスモバイルでエクセルの...
-
Excelで特定の文字のところで自...
-
VBAの記述の、Sub SetValue()など
-
ファイルが見つからない時、ス...
-
エクセルでA1セルに時刻をリア...
-
powerpointマクロでJPEG画像サ...
-
Wordの文章中の一致した文字の...
-
VBAにて別ワークブック上の実行...
-
VB6 API LISTVIEW(チェックボ...
-
teratermマクロをVBAで実行
-
vba マクロでファイル名をつけ...
-
メッセージボックスのOKボタ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excelのセル値に基づいて図形の...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
Excel_マクロ_現在開いているシ...
-
ExcelVBAでPDFを閉じるソース
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
エクセルで縦に並んだデータを...
-
TERA TERMを隠す方法
-
特定文字のある行の前に空白行...
-
Excel マクロでShearePoint先の...
-
UWLSの記録でマクロを作成し使...
-
エクセルで別のセルにあるふり...
-
マクロ実行時、ユーザーフォー...
-
ソース内の行末に\\
-
wordを起動した際に特定のペー...
おすすめ情報