Vba 从列表框中获取项目并将其放入列中

Vba 从列表框中获取项目并将其放入列中,vba,excel,listbox,Vba,Excel,Listbox,我想从multiselection列表框中获取所选项目,并将这些项目放在下面的列中。我已经找到了如何获取所选项目,但没有找到如何将这些项目放入工作表中 这里有一个密码: Private Sub CommandButton2_Click() Dim Msg As String Dim i As Integer Dim reihe As Integer Dim spalte As Variant reihe = 30 spal

我想从multiselection列表框中获取所选项目,并将这些项目放在下面的列中。我已经找到了如何获取所选项目,但没有找到如何将这些项目放入工作表中

这里有一个密码:

Private Sub CommandButton2_Click()

      Dim Msg As String
      Dim i As Integer
      Dim reihe As Integer
      Dim spalte As Variant
      reihe = 30
      spalte = "A"

      For i = 0 To ListBox1.ListCount - 1
          If ListBox1.Selected(i) Then
              Msg = Msg & ListBox1.List(i) & vbNewLine
          End If
      Next i

      MsgBox Msg


End Sub

假设我们希望从第13行开始将值放入列B。在您的MsgBox之后,包括:

ary = Split(Msg, vbCrLf)
J = 13
For Each a In ary
    Cells(J, "B").Value = a
    J = J + 1
Next a
编辑#1:

若要从同一点开始,但在另一点上填充,请使用:

ary = Split(Msg, vbCrLf)
J = 13
K = 2
For Each a In ary
    Cells(J, K).Value = a
    K = K + 1
Next a

太酷了!但是有没有其他方法可以将所选项目并排放到列中呢?例如:B13、B14等等。@ManInTheMiddle我不理解我的错误,对不起。我的意思是,如果我使用你的代码,输出将在单元格b13,b14中。你迭代了“J”,但是如果我想在b13,c13,d13(并排)中使用它呢?!如何将像“B”这样的字母迭代到“c”@ManInTheMiddle查看我的编辑#1: