dポイントプレゼントキャンペーン実施中!

エクセルVBA ユーザーフォームコントロールのチェックボックスで複数選択した項目名をそのままセルに反映させるにはどのようにしたら良いでしょうか?

したいと思っていることは、
A2のセルで果物を選択したら、りんご、みかん、ふどうを選択出来るチェックボックスが表示され、そのうちりんごとぶどうを選択した場合、B2にりんご、B3にぶどうと表示出来るようにしたいです。その後、A4で野菜を選択すると、トマト、ナス、きゅうりを選択出来るチェックボックスが表示され、きゅうりを選択するとB4にきゅうりと表示出来るようにしたいです。
A列の選択項目によって出て来るチェックボックスをかえ、更にその表示されたチェックボックスで選択した項目名をB列に反映させたいです。B列は選択した項目が下のセルにどんどん追加されていくようにしたいです。

分かりづらい質問ですが、どうか、お分かりになる方がいましたら、教えていただきたいです。よろしくお願いします!

A 回答 (1件)

チェックボックスでは厳しいので、リストボックスで実装してみました(操作イメージが確認できる程度のサンプルですが・・・)。



野菜と果物のリスト範囲については名前の定義が必要です。

Private Sub UserForm_Initialize()
ListBox1.MultiSelect = fmMultiSelectMulti
ListBox1.ListStyle = fmListStyleOption
ListBox1.RowSource = Range("A2").Value
End Sub

Private Sub UserForm_Terminate()
Dim i As Long
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then MsgBox ListBox1.List(i)
Next
End Sub
「エクセルVBA ユーザーフォームコントロ」の回答画像1
    • good
    • 0
この回答へのお礼

お礼が遅くなり、すみません!
リストボックスでも出来るのですね!チェックボックスで!と頭がカチカチになっていました。早速試してみたいと思います!ありがとうございます!

お礼日時:2018/09/18 14:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!