Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


400 / 76735 ←次へ | 前へ→

【82002】Re:VBAについて教えてください
回答  どすん  - 22/3/15(火) 20:30 -

引用なし
パスワード
   まず、ユーザーフォームの初期化の所で、大カテゴリのコンボボックスのみ値をセット。
大カテゴリの値によって中カテゴリが決まるため値は入れないでおく。

Private Sub UserForm_Initialize()

  Me.ComboBox1.AddItem "大カテゴリ1"
  Me.ComboBox1.AddItem "大カテゴリ2"

End Sub


コンボ1の入力が終わったら、コンボ2の値をセットできる。
その際、コンボ1の値で条件分岐する。

Private Sub ComboBox1_AfterUpdate()

  If Me.ComboBox1.Text = "大カテゴリ1" Then
    Me.ComboBox2.AddItem "中カテゴリ1-1"
    Me.ComboBox2.AddItem "中カテゴリ1-2"
  
  ElseIf Me.ComboBox1.Text = "大カテゴリ2" Then
    Me.ComboBox2.AddItem "中カテゴリ2-1"
    Me.ComboBox2.AddItem "中カテゴリ2-2"
  End If
    
End Sub

同じようにコンボ2の値が決まったら、ラベルに値を入力。
これもコンボ2の値で条件分岐。

Private Sub ComboBox2_AfterUpdate()

  If Me.ComboBox2.Text = "中カテゴリ1-1" Then
    Label1.Caption = "小カテゴリ1-1-1"
    Label2.Caption = "小カテゴリ1-1-2"
    Label3.Caption = "小カテゴリ1-1-3"
  ElseIf Me.ComboBox2.Text = "中カテゴリ1-2" Then
    Label1.Caption = "小カテゴリ1-2-1"
    Label2.Caption = "小カテゴリ1-2-2"
    Label3.Caption = "小カテゴリ1-2-3"
'---
'---
'---

  End If
  
End Sub

流れとしては、こんな感じ。

6 hits

【82001】VBAについて教えてください ヒマミン 22/3/15(火) 0:13 質問[未読]
【82002】Re:VBAについて教えてください どすん 22/3/15(火) 20:30 回答[未読]

400 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free