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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
エクセルVBAでOptionButtonのオンオフ取得
Excel(エクセル)
-
エクセルVBAでオプションボタンを無効にする方法
Excel(エクセル)
-
オプションボタンを別シートに連動
Excel(エクセル)
-
-
4
VBAでオプションボタンなどそれぞれの数を調べたい
Excel(エクセル)
-
5
エクセルVBA オプションボタンのチェックを外したい
Excel(エクセル)
-
6
VBAでダブルコーテーション入りの数式をセルにセットしたい
Visual Basic(VBA)
-
7
マウスで選択した図形のみVBAで移動したい。
Visual Basic(VBA)
-
8
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
9
ExcelVBAで今開いているユーザ情報を取得できますか?
Visual Basic(VBA)
-
10
フォームコントロールから作ったボタンのデザイン
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
行数が不規則な一週間ごとの合...
-
文字列になっている時間をVBAで...
-
ある列、或いは、ある行のセル...
-
マクロの有効化するダイヤログ...
-
【マクロ】フォルダからエクセ...
-
Excelでの時間帯の入力
-
excel で二つのどちらかを選ぶ
-
エクセルの順位別一覧表の自動...
-
Excel 2019 のピボットテーブル...
-
エクセル 価格表から単価を呼び...
-
excelの不要な行の削除ができな...
-
エクセルで特定の範囲内から小...
-
シートAで横に並んだ項目→シー...
-
Excelが固まってしまった。
-
Excel2013のF6キー操作について
-
【関数】スペースがいくつ入っ...
-
Excelはなんで先頭の0を消すん...
-
【Microsoft Office Excel Comp...
-
西暦や和暦の表示をyyyymmdd表...
-
別シートからの文字を変更
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
学校で買ったiPadがあるんです...
-
アプリについて
-
パソコンを監視されているのを...
-
バイト前眠れないです。 大学生...
-
会社のパソコンの監視のされ方...
-
中国留学行くんですが、中国で...
-
26歳女です。職場で目をつけら...
-
他人のPCに一切触れずにそのPC...
-
複数の店舗に設置してあるWIFI...
-
学校支給のiPadはどこまで監視...
-
誰かに監視されてる気がします ...
-
OVO(OpenViewOp...
-
Excelシート上のオプションボタ...
-
教えてgooの投稿を監視削除して...
-
大至急‼️学校のiPadについて
-
学校のPCにUSBメモリを挿したら...
-
サーバーのホスト名を考えています
-
情報倫理についてのレポート
-
ラップ音が、自分の思考や行動...
-
共有フォルダへのアクセスを監...
おすすめ情報