質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

4760閲覧

VBAで動的に生成したボタンのプロパティの編集方法

giftend

総合スコア13

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2018/01/24 08:52

PowerPointのVBAでユーザーフォームを作成しています。
フォーム内にbutton1とbutton2があり、button1をクリックするとbutton3を動的に生成させ、button2を押すとbutton3のプロパティを編集できるようにしたいです(button3.Visible = 0 など)。

https://oshiete.goo.ne.jp/qa/504573.html

上記URLに似たような質問があり、ベストアンサーを参考に作成を試みたのですが、自分のクラスモジュールの理解がかなり浅く、実現できずにいます。回答をよろしくお願いいたします。
また、質問とは直接関係はないのですが、VBAのクラスモジュールについて参考になる初心者向けのサイトがあれば教えていただきたいです。(クラスモジュールは新たなオブジェクトを作るということしかわかっていない状態です。)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

button3 一つだけでいいなのなら、わさわざクラスモジュールを使う必要はないし、動的に生成する必要もないです。

button3 もユーザーフォーム上に配置して、プロパティの Visible をFalse に設定しておいて下記のコードでOKでしょう。

vba

1Private Sub Button1_Click() 2 Me.Button3.Visible = True 3End Sub 4 5Private Sub Button2_Click() 6 Me.Button3.Visible = False 7End Sub 8 9Private Sub Button3_Click() 10 MsgBox "You click Button3." 11End Sub 12

投稿2018/01/24 17:09

hatena19

総合スコア33699

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

giftend

2018/01/25 03:09

回答ありがとうございます。確かに最初から見えなくしてればよかったのですね。気が付きませんでした。 また機会があれば回答よろしくお願いいたします。
guest

0

ベストアンサー

一つで良いのであればこれでいけます。
witheventsで宣言したオブジェクトにsetしてやればイベントでも引っかかります。

vba

1Private WithEvents btn As CommandButton 2 3Private Sub btn_Click() 4 MsgBox "test" 5End Sub 6 7Private Sub CommandButton1_Click() 8 Set btn = Me.Controls.Add("Forms.CommandButton.1", "Command3") 9End Sub 10Private Sub CommandButton2_Click() 11 btn.Visible = not btn.Visible 12End Sub

すみません途中で質問文がごっちゃになってました。m(_ _;)m

投稿2018/01/24 09:09

編集2018/01/24 09:19
sousuke

総合スコア3828

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

giftend

2018/01/25 03:07

ありがとうございます。sousuke様のおかげで無事解決いたしました。また機会があればよろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問