こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセル リストボックスの複数の値を取得

Sheet1にユーザーフォームに ListBox1とCommandButton1を配置しました。
ListBox1で複数選択した値をCommandButton1を押した後、指定のセル範囲内
(B5:B10)へ順に、1つずつ下に反映したいのですが、うまくいきません。

ListBox1
AAA
BBB
CCC
DDD

で BBBとCCCを複数選択した際に

Sheet1のセルB5 へ BBB
Sheet1のセルB6 へ CCC

という具合です。
セルB10以下の行は他の数式等で使用しています。


Private Sub UserForm_Initialize()
  With ListBox1
    .AddItem "AAA"
    .AddItem "BBB"
    .AddItem "CCC"
    .AddItem "DDD"
  End With
End Sub

Private Sub CommandButton1_Click()
  Dim lastRow As Long
  With Worksheets("Sheet1")
    lastRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1←このあたりがさっぱり
    .Cells(lastRow, 1).Value = UserForm6.ListBox1.Value←このあたりがさっぱり
  End With
End Sub

初心者の質問で申し訳ありませんが、よろしくお願いいたします。

投稿日時 - 2017-10-31 12:27:59

QNo.9392094

困ってます

質問者が選んだベストアンサー

Private Sub UserForm_Initialize()
With ListBox1
.AddItem "AAA"
.AddItem "BBB"
.AddItem "CCC"
.AddItem "DDD"
End With
End Sub

Private Sub CommandButton1_Click()
Dim lastRow As Long
With Worksheets("Sheet1")
lastRow = 5
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
.Cells(lastRow, 2).Value = UserForm6.ListBox1.List(i)
lastRow = lastRow + 1
End If
Next i
End With
End Sub

投稿日時 - 2017-10-31 13:05:39

お礼

chie65535 様
早速の回答ありがとうございました。
大変助かりました。

投稿日時 - 2017-10-31 15:10:50

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問