No.3ベストアンサー
- 回答日時:
こんばんは
ご質問文の通りに「監視」するのであれば、
・OnTime等で一定時間ごとにチェックする
あるいは、ボタンの変化がクリックで起こるとしてよいのなら
・マウスクリックを取得して、チェック(監視)する
ような方法が考えられます。
https://excel-excel.com/tips/vba_151.html
とは言え、いずれにしろ無駄に実行される確率が高いので、効率も悪く、下手なコードを書けば負荷の増大につながりかねません。
補足に、
>ボタンごとにマクロを割り付けるのではなく、
とありますが、ボタンのクリックをひとつのマクロで処理することは可能ですし、この方法であれば、必要な時にしか動作しないので効率が悪くなることもありません。
以下は、そのような一例です。
フォームコントロールのオプションボタンの場合を例として。
(ActiveXの場合は、扱いが変わる可能性があります)
1)例えば、標準モジュールに以下のコードを用意しておきます。
Sub optBtnCheck()
Set c = ActiveSheet.Shapes(Application.Caller)
MsgBox c.Name & "(" & c.AlternativeText & ") is ON"
End Sub
2)シート上にフォームコントロールのオプションボタンを作成
3)2)のボタンに1)のマクロを登録
4)3)のボタンをコピペで好きなだけ増やします。
以上で、ボタンをクリックすれば(=ONになるのと同値)、そのボタン名がメッセージボックスに表示されます。
(実際の処理内容は、なさりたいことに応じて書き換える必要があります)
※ すでにボタンを多数作成済みであれば、「マクロを登録する」マクロを作成して実行すれば、後からの登録も可能です。
※ 上記のままだと、「ONになっているボタン」をクリックしても動作しますが、状態が変化したかどうかは、単純にこれだけをチェックすれば済むものと思います。
※ ボタンのグループが複数存在する場合であっても、チェックタイミングの取得は同様にできるものと思います。
ありがとうございます。
勉強になりました。
ActiveXコントロールのオプションボタンだったので、
一括でマクロ登録出来なかったという事情もあり、
セル変化を検知できて、オプションボタンを検知できないのかという興味もありまして。
扱いやすいフォームコントロールのオプションボタンに置き換えて正攻法でいこうと思います。
No.2
- 回答日時:
単純にこう言うことじゃなくて?
Private Sub OptionButton1_Click()
MsgBox "op1"
End Sub
Private Sub OptionButton2_Click()
MsgBox "op2"
End Sub
ありがとうございます。
ボタンごとにマクロを割り付けるのではなく、
Worksheet.Changeイベントが、シート上のセル書き換えを監視して、マクロ処理を走らせるように、
シート上よオプションボタンの変更を検知してマクロ処理を走らせる、
みたいな方法を探していました。
単純に全オプションボタンに同じマクロ割り当てれば実現はできますが、
「オプションボタンの変更」をきっかけにできるか、
という点での質問でした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel VBA】マクロボタンを表のスクロールやフィルタに左右されず固定できないですか? 7 2021/11/21 19:16
- Excel(エクセル) [貼り付けオプション]とは? 3 2022/04/17 08:15
- Excel(エクセル) 「Excelのオプション」の「ユーザーインターフェイスのオプション」の設定値をVBAで取得したい 1 2022/07/31 23:49
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Excel(エクセル) 納品書台帳の納品書番号(一連番号)が入力シートからのデータ転記で反映(表示)されるようにしたい。 1 2021/11/17 19:49
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- マウス・キーボード エクセルに関する三つの質問 2 2021/12/05 12:35
- Visual Basic(VBA) Excel ファイルを指定し、指定されたファイル内にシートを統合するVBA 8 2023/07/10 10:09
- Excel(エクセル) EXCEL ActiveX コマンドボタンで実行する前にいったんmsgBoxで確認を求めたい 1 2022/07/06 19:41
- Visual Basic(VBA) MS-OUTLOOK VBA 投票ボタン 1 2021/10/29 22:39
このQ&Aを見た人はこんなQ&Aも見ています
-
風水の観点で選ぶ観葉植物とは?置き場所や上げたい運気ごとの注意点を紹介!
観葉植物で運気をアップするコツを、風水デザイン1級建築士の福島昌彦さんに伺った。
-
エクセルVBAでOptionButtonのオンオフ取得
Excel(エクセル)
-
エクセルVBAでオプションボタンを無効にする方法
Excel(エクセル)
-
オプションボタンを別シートに連動
Excel(エクセル)
-
-
4
VBAでオプションボタンなどそれぞれの数を調べたい
Excel(エクセル)
-
5
Excelマクロでオプションボタンの名前の変更をしたい
Excel(エクセル)
-
6
入力されたかどうか、オプションボタンが選択されたかどうかをチェックしたい
Visual Basic(VBA)
-
7
エクセルVBA オプションボタンのチェックを外したい
Excel(エクセル)
-
8
特定のシートの削除を禁止したい(ブックの保護でなく)
Excel(エクセル)
-
9
VBAでダブルコーテーション入りの数式をセルにセットしたい
Visual Basic(VBA)
-
10
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
11
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
12
マウスで選択した図形のみVBAで移動したい。
Visual Basic(VBA)
-
13
ExcelVBAで今開いているユーザ情報を取得できますか?
Visual Basic(VBA)
-
14
フォームコントロールから作ったボタンのデザイン
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのデーターが2か月前の...
-
エクセルVBA、別ブックへ転記す...
-
【マクロ】顧客番号にて一致さ...
-
エクセル共有したが、アクセス...
-
エクセル②
-
(マクロ)データをAブックからB...
-
Excelでセルの値が同じか...
-
エクセルを使っていて2024/5/15...
-
指定文字の間に
-
Microsoft 365の Excel を使用...
-
エクセルの計算
-
エクセルでの作業計算方法について
-
Excelで全角を半角にしたいので...
-
エクセル関数に詳しい方教えて...
-
Googleスプレッドシートでファ...
-
エクセル 文字を増やしたい。
-
はがきについて。
-
エクセルの暗号化なしのバーの...
-
【マクロ】必要な項目(列)の...
-
Excel
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
学校で買ったiPadがあるんです...
-
アプリについて
-
パソコンを監視されているのを...
-
バイト前眠れないです。 大学生...
-
会社のパソコンの監視のされ方...
-
中国留学行くんですが、中国で...
-
26歳女です。職場で目をつけら...
-
他人のPCに一切触れずにそのPC...
-
複数の店舗に設置してあるWIFI...
-
学校支給のiPadはどこまで監視...
-
誰かに監視されてる気がします ...
-
OVO(OpenViewOp...
-
Excelシート上のオプションボタ...
-
教えてgooの投稿を監視削除して...
-
大至急‼️学校のiPadについて
-
学校のPCにUSBメモリを挿したら...
-
サーバーのホスト名を考えています
-
情報倫理についてのレポート
-
ラップ音が、自分の思考や行動...
-
共有フォルダへのアクセスを監...
おすすめ情報