- 締切済み
activeXのフォームにマクロ登録する方法
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- BarcodeMaster
- ベストアンサー率73% (17/23)
ActiveXのフォームというのが何を意味するのかわかりませんが・・・ Redという名前のマクロがあるのだから、Redというチェックボックスは使えません。 下記例ではチェックボックスを「RedCheckBox」としています。 マクロを「ChangeBorderRed」としています。 '--- ユーザーフォーム内 Private Sub RedCheckBox_Click() If RedCheckBox.Value = True Then Call ChangeBorderRed End If End Sub '--- 標準モジュール内 Public Sub ChangeBorderRed() 'ここに枠を赤にするロジック End Sub
- imogasi
- ベストアンサー率27% (4737/17069)
>ActiveXのフォームから、質問に書いているが エクセルVBAなら フォームにActveXとその他は無いのではないか。 ーー 「コントロール」では ・フォームコントロール と ・ActiveX コントロール の2種があるのは、有名なエクセルVBAのトッピクスだが。 そもそもエクセルVBAの質問だということを質問には明記すべきなんだ。 それにエクセルバージョンの書くべきだ。回答が変わる場合もありえるのだ。 http://www.239-programing.com/excel-vba/basic/basic101.html など ーー 基本的にはイベントの(エクセルVBAの例) Private Sub ComboBox4_Change() End Sub などの中にRedのルーチンを挟めばよいのでは。 ただ処理するObjectについては注意しないとならないが。 エクセルのシートのセルとワードの表のセルが同じコードになるとは限らないはず。 ーー >ある図形を「Red」というマクロ(マクロの記録から作成したもの)を実行すると 枠が赤色になるマクロを作成したとします この文章は、「「Red」というマクロを実行すると、図形の枠を赤色になる,コード」と書くべきと思う。 それを「チェクボックス」をクリックしたとき実行したときに実行にしたいなら 上記の通り。イベントが何か(クリックとかChangeとか)認識しないとだめ。 「チェックボックスをON(True)にする」というのは、イベントそのものではない