
(1)excel97にのVBAでフォームを作成します。
デフォルトの場合はUserForm1という名前がつきます。
(2)標準モジュールとして下記のコードを作成します。
Sub ボタンを付けて表示()
Dim btn As Control
With UserForm1
’ボタンを"button"という名前で作成します
Set btn = .Controls.Add("Forms.CommandButton.1", "button")
’ボタンの設定をします
With btn
.Top = 5
.Left = 5
.Height = 20
.Width = 200
.Caption = "push me!"
End With
’フォームの設定をし、表示します
.Height = 60
.Width = 220
.Show
End With
End Sub
(3)マクロを実行するとフォームが表示されます。
そこでこのボタン("push me!"と表示されています)をクリックします。
このクリックを検知してマクロを動かしたいのですが可能でしょうか?
なおUserForm1に下記のコードを付けてみたのですがクリックは検知できませんでした。
Private Sub button_Click()
MsgBox "You click the button."
End Sub
No.2ベストアンサー
- 回答日時:
クラスモジュールを使用すると出来るのではないでしょうか。
----- 標準モジュール ---------
Dim NewBtn As New Class1 ' <------ 追加
Sub ボタンを付けて表示()
Dim btn As Control
With UserForm1
Set btn = .Controls.Add("Forms.CommandButton.1", "button")
With btn
.Top = 5
.Left = 5
.Height = 20
.Width = 100
.Caption = "push me!"
End With
.Height = 60
.Width = 220
Set NewBtn.button = btn ' <---- 追加
.Show
End With
End Sub
---- ↓ クラスモジュールに記述します。
Public WithEvents button As CommandButton
Private Sub button_Click()
MsgBox "You click the button."
End Sub
完璧です。ありがとうございます。
クラスモジュールとイベントのトラップは使用したことがなかったのでこれから勉強します。
また何かあったらお願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ユーザーフォームで動的(Me.Controls.Add)に作成したコントロールの削除
Visual Basic(VBA)
-
Excel VBA 動的に作成したチェックボックスにイベントを追加したい
Excel(エクセル)
-
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
-
4
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
5
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
エクセルの画面にユーザーフォ...
-
UPS警告音を止めたい
-
複数シートのボタンに同一の動...
-
入力済み、選択したセルに連動...
-
Excelで、ボタンにコメントをつ...
-
エクセルで、オプションボタン...
-
【Excel VBA】マクロボタンを表...
-
ユーザーフォームをショートカ...
-
InputBox関数でキャンセルボタ...
-
Accessのフォームでタブの色
-
EXCELのマクロが 実行時エラー5...
-
フォームコントロールから作っ...
-
コンボボックスウィザードが出...
-
エクセルでマクロボタンを押す...
-
excel スクロールしても常にボ...
-
マクロで作ったボタンのサイズ...
-
access2010 リストボックス内に...
-
マクロを登録しているボタンが...
-
オブジェクト名をVBAで指定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
UPS警告音を止めたい
-
マクロを登録しているボタンが...
-
【Excel VBA】マクロボタンを表...
-
Excelで、ボタンにコメントをつ...
-
入力済み、選択したセルに連動...
-
エクセルの画面にユーザーフォ...
-
複数シートのボタンに同一の動...
-
マクロで作ったボタンのサイズ...
-
オブジェクト名をVBAで指定...
-
エクセルで、オプションボタン...
-
EXCELのマクロが 実行時エラー5...
-
ユーザーフォームをショートカ...
-
Excel ラジオボタンのリセット...
-
フォームコントロールから作っ...
-
トグルボタンをオプションボタ...
-
エクセルでマクロボタンを押す...
-
VBAでオプションボタンなどそれ...
-
【Excel】行移動ボタンを沢山作...
-
ボタンを押しただけで発生する...
おすすめ情報