Excel VBA导出2列列表框以分隔工作表

时间:2016-02-29 15:37:19

标签: excel vba excel-vba

我正在尝试将2列列表框导出到新工作表。我想在新工作表中显示每一列。这需要重复两次,因为有3个列表框。用户将在列表框中选择所需的行,然后按下单独的“确认”命令按钮。

我编写了以下代码,只导出每个列表框的第一列。我使用RowSource使列表框双列圆柱。

非常感谢任何帮助。

 Private Sub ConfirmBtn_Click()
 Dim emptyRow As Long

   Sheet2.Activate

   emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

   Cells(emptyRow, 1).Value = SRCLstBox.Value
   Cells(emptyRow, 3).Value = BERLstBox.Value
   Cells(emptyRow, 5).Value = SNKLstBox.Value
End Sub

2 个答案:

答案 0 :(得分:1)

您可以使用List这样的属性:

With SRCLstBox
    Cells(emptyRow, 1).Value = .Value
    Cells(emptyRow, 2).Value = .List(.ListIndex, 1)
End With
With BERLstBox
    Cells(emptyRow, 3).Value = .Value
    Cells(emptyRow, 4).Value = .List(.ListIndex, 1)
End With
With SNKLstBox
    Cells(emptyRow, 5).Value = .Value
    Cells(emptyRow, 6).Value = .List(.ListIndex, 1)
End With

答案 1 :(得分:0)

Value的{​​{1}}属性只会为您提供所选项目第一列的内容。如果未选择列表中的项目,那么您将获得ListBox作为返回值。

要获取NULL中的所有项目,您需要使用ListBox方法。这是一个小样本Sub给你的想法:

List( , )