
No.2ベストアンサー
- 回答日時:
出来ますが 必要なプロパティの公開などが結構面倒ですよ
# コードの字下げには全角スペースを使用しています
ClassモジュールをMyButtonとして作成
Dim WithEvents objBtn as MSForms.CommnadButton
Public Event Click()
Private Sub Class_Initialize()
' クラスモジュールとシート上のコマンドボタンをつなぐ
Set objBtn = ActiveSheet.Shapes("CommandButton1").DrawingObject.Object
End Sub
Private Sub objBtn_Click()
' ボタンが押されたときに呼び出されるプロシージャ
RaiseEvent Click
' Clickイベントを呼び出してユーザーのBtn_Clickなどを呼び出す
End Sub
' Enabledプロパティの公開
Public Property Let Enabled(bValue As Boolean)
' 左辺の場合
objBtn.Enabled = bValue
End Property
Public Property Get Enabled() As Boolean
' 右辺の場合
Enabled = objBtn.Enabled
End Property
といった具合にします
シートモジュールなどで
Dim WithEvents MyBtn as myButton
Sub Init()
Set MyBtn = New myButton
myBtn.Enabled = True
End Sub
Sub MyBtn_Click()
MsgBox "Classモジュールからの呼び出し " & myBtn.Enabled
myBtn.Enabled = False
End Sub
といった具合です
No.1
- 回答日時:
リンク先にワークシート上に動的に配置したコントロールの配列の制御方法が回答されています。
予め配置したコントロールなら、ワークシートのActivateイベントなどにクラス生成を記述しても良いと思います。ご参考まで。
http://okwave.jp/qa4033874.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAで、ユーザーフォーム...
-
フォーム名一覧の取得
-
標準モジュールを削除したい。(...
-
本当にPublicな変数(配列で)
-
VBAProjectのモジュ...
-
VBAで別モジュールへの変数の受...
-
CGI.pmはもう古い!?
-
モジュールからフォームのボタ...
-
pythonでファイル移動できません。
-
VBAで「メモリが不足しています」
-
EXECEL VBA コマンドボタンか...
-
シートモジュールで使う変数を...
-
プラグイン、ライブラリ、コン...
-
ユーザー定義関数に#NAME?が返...
-
VBA This Workbookモジュール...
-
電源について
-
Access VBA標準モジュールにつ...
-
【vba】フォームに書いてあ...
-
vba userFormのSubを標準モジュ...
-
VBIDEで未使用の変数の抽出
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでリンク切れをチェッ...
-
エクセルVBAでシートモジュール...
-
VBでグローバル変数を宣言するには
-
ユーザー定義関数に#NAME?が返...
-
Excel VBAで、ユーザーフォーム...
-
Excel VBA 定義されたプロージ...
-
vba userFormのSubを標準モジュ...
-
標準モジュールを削除したい。(...
-
'Range'メソッドは失敗しました
-
VBAで別モジュールへの変数の受...
-
モジュールからフォームのボタ...
-
モジュールの最大数はいくつな...
-
グラフのX,Y座標を取得したい
-
モジュールとクラスの違いって...
-
【vba】フォームに書いてあ...
-
Form間の値の渡し方
-
VBのフォームモジュールと標準...
-
VBA モジュールで共通に使う変...
-
Excel VBA 『Call』で呼び出す...
-
acwzlibとは?
おすすめ情報