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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Visual Basic(VBA) VBA ユーザーフォーム 3 2022/04/14 10:30
- Excel(エクセル) エクセルVBA Msgboxでの変数の活用 4 2023/07/23 08:33
- 工学 モーターでブレーキを掛けると回らなくなります。 状況としては写真のJSP005というモーターをTA7 3 2022/08/07 20:58
- 工学 1つのタクトスイッチで複数の並列回路を閉じ、アースにつなげることができるスイッチはありますか。 2 2022/08/06 10:38
- Excel(エクセル) エクセルのマクロ設定 1 2023/04/05 19:37
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- ビデオカード・サウンドカード 1つのマザボでAMD&NVIDIAを同時使用できますか? 3 2022/04/22 14:36
- Visual Basic(VBA) Excel ファイルを指定し、指定されたファイル内にシートを統合するVBA 8 2023/07/10 10:09
- Visual Basic(VBA) VB.net フォーム 親子 1 2022/07/04 19:00
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
EXECEL VBA コマンドボタンからのモジュール呼び出し
Visual Basic(VBA)
-
コマンドボタンがあるかどうかを取得するには?
PowerPoint(パワーポイント)
-
モーダルフォームとモードレスフォーム
Visual Basic(VBA)
-
-
4
エクセルでエラーが出て困っています。
Excel(エクセル)
-
5
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
6
エクセルVBAでmeに相当するものは?
Excel(エクセル)
-
7
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
8
複数のコマンドボタン(VBAで)を一つにまとめたい。
Visual Basic(VBA)
-
9
VBA シートをコピー後、ボタンにマクロ登録
Excel(エクセル)
-
10
UserForm1.Showでエラーになります。
工学
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
Excel vbaで別ブックのコマンドボタンをクリック
Visual Basic(VBA)
-
13
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
14
MSFormsとは何ですか?
XML
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ArduinoのジャイロモジュールMP...
-
Excel VBA 定義されたプロージ...
-
グラフのX,Y座標を取得したい
-
【vba】フォームに書いてあ...
-
VBでグローバル変数を宣言するには
-
VBAで別モジュールへの変数の受...
-
印刷後メッセージボックスを表...
-
VBAを使用してWordからExcelの...
-
VBAで旧字体を異字体に一括で変...
-
モジュールとは何ですか
-
VBA This Workbookモジュール...
-
Excel VBAでリンク切れをチェッ...
-
プラグイン、ライブラリ、コン...
-
Excel VBA 標準モジュール内で...
-
大量の標準モジュールを解放す...
-
モジュールからフォームのボタ...
-
偶数/奇数の判定
-
ユーザー定義関数に#NAME?が返...
-
AddressOf と同じ機能を持った...
-
CPANのインストールモジュール...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでリンク切れをチェッ...
-
ユーザー定義関数に#NAME?が返...
-
VBAで別モジュールへの変数の受...
-
VBでグローバル変数を宣言するには
-
エクセルVBAでシートモジュール...
-
VBA This Workbookモジュール...
-
モジュールの最大数はいくつな...
-
Excel VBAで、ユーザーフォーム...
-
VBAで旧字体を異字体に一括で変...
-
Access VBA標準モジュールにつ...
-
VBA モジュールで共通に使う変...
-
'Range'メソッドは失敗しました
-
グラフのX,Y座標を取得したい
-
モジュールとは何ですか
-
Excel VBA 『Call』で呼び出す...
-
プラグイン、ライブラリ、コン...
-
【vba】フォームに書いてあ...
-
モジュールからフォームのボタ...
-
モジュールとクラスの違いって...
-
acwzlibとは?
おすすめ情報