初心者です。初歩的な質問でお恥ずかしいのですが、コンボボックス用のコードを
記述するには「Private Sub UserForm_Initialize()」の下に記述するしかないのでしょうか。
例えば、縦長のユーザーフォームに上からコンボボックス1、コマンドボタン、コンボボックス2を
配置した場合、コードの記述をコンボボックス1の処理、コマンドボタンの処理、コンボボックス2の処理と、順番通りに記述することは出来るのでしょうか?
現在はこのようにコードを記述しています。
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "赤色"
.AddItem "青色"
.AddItem "黄色"
End With
With ComboBox2
.AddItem "緑色"
.AddItem "黒色"
.AddItem "紫色"
End With
End Sub
Private Sub CommandButton1_Click()
MsgBox "テスト"
End Sub
本当であれば、下記のように順番通りに記述したいです。
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "赤色"
.AddItem "青色"
.AddItem "黄色"
End With
End Sub
Private Sub CommandButton1_Click()
MsgBox "テスト"
End Sub
With ComboBox2
.AddItem "緑色"
.AddItem "黒色"
.AddItem "紫色"
End With
End Sub
With ComboBox2の上に、必要なコードを記述すればできるのでしょうか。
ご教示下さい。
No.1ベストアンサー
- 回答日時:
>本当であれば、下記のように順番通りに記述したいです。
プロシージャ(sub , function)の中に別のプロシージャを置くことはできません。
どうしても順番に記述したいのであれば可能ですが、順番に記述することの意義はないと私は思います。
見やすくするため全角スペースでイデントしています
Private Sub UserForm_Initialize()
SetCommbo1
SetCommbo2
End Sub
Private Sub SetCommbo1()
With ComboBox1
.AddItem "赤色"
.AddItem "青色"
.AddItem "黄色"
End With
End Sub
Private Sub CommandButton1_Click()
MsgBox "テスト"
End Sub
Private Sub SetCommbo2()
With ComboBox2
.AddItem "緑色"
.AddItem "黒色"
.AddItem "紫色"
End With
End Sub
なるほど、こんな方法があるのですね。
「出来ないのかも」と思っていたのですが詳しい方は様々な方法をご存じだ…。
確かにご教示頂いたコードですと逆に時間がかかってしまいそうなので、今まで通り進めてみます。
(せっかく直して頂いたのにすみません)
「セットして呼び出す」という新たな知識も頂戴できて、大満足です。
ありがとうございました!
No.2
- 回答日時:
コマンドボタンの代わりに Form_Load() イベントを使って
Private Sub Form_Load()
MsgBox "テスト"
UserForm_Initialize
End Sub
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "赤色"
.AddItem "青色"
.AddItem "黄色"
End With
With ComboBox2
.AddItem "緑色"
.AddItem "黒色"
.AddItem "紫色"
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
- Visual Basic(VBA) ListBox1をClickしたときのイベント 5 2022/12/11 19:45
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) VBAユーザーフォームの複数のコンボボックスについて。 1 2022/04/25 08:13
- Visual Basic(VBA) リストボックス セルの値を取得する 1 2022/05/21 20:47
- Visual Basic(VBA) フォーム上のリストボックスに重複して表示しています 3 2022/10/19 11:55
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- Visual Basic(VBA) リストポックスについて 2 2022/11/05 20:48
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グーグルフォームのアンケート...
-
部分点の採点の付け方について。
-
宅建の質問です 下の問題の答え...
-
1秒以下のApplication.Waitは可...
-
レポートとかでの「述べよ」と「...
-
民法 制限行為能力者
-
転置行列の記号を書く方法(TeX)
-
Excel VBA BeforeSaveが動作し...
-
行政書士試験記述式問題について
-
アンモニア(NH3)の熱分解温度
-
エクセルのCELLS関数で複数セル...
-
Twitterにリンクをサムネ付きで...
-
行政書士の記述式問題について...
-
句読点の記述の仕方について 記...
-
記述的とは?
-
おおっ(*'▽')!教えて!gooは「...
-
powershellについて。
-
「ものとする」 「こと」 「...
-
A又はBは、AとB両方を法律的に...
-
こんなに下手なのに明日仮免!...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
部分点の採点の付け方について。
-
グーグルフォームのアンケート...
-
Powerpointを用いた論文の発表...
-
Excel VBA BeforeSaveが動作し...
-
転置行列の記号を書く方法(TeX)
-
昔トリビアの泉で、フォルテは...
-
減価償却資産の法定耐用年数を...
-
振動試験の掃引について
-
アンモニア(NH3)の熱分解温度
-
司法試験予備試験を旧字体で解...
-
複合任意は数学の記述で使って...
-
アステラス製薬は株式分割した...
-
行政書士試験の民法についての...
-
EXCEL ツールバーを非表示にす...
-
宅建の質問です 下の問題の答え...
-
1秒以下のApplication.Waitは可...
-
グース350の0-100が何秒か教え...
-
10進数で10分の1を17桁の2進数...
-
秘書検定2級の記述問題について
-
今年の行政書士試験の問46の記...
おすすめ情報