列表框下标超出范围excel vba

时间:2017-05-12 01:04:28

标签: vba excel-vba split listbox excel

我试图将列表框中的项目拆分,以便我只显示第一个换行符,但是看起来下标超出了范围,我无法确定错误。

Private Sub DisplayTasksInListView()
    Dim i As Integer
    Dim taskList As Variant
    Dim taskItem As Variant

    With ListBoxTask
      ListBoxTask.Clear
      taskList = ActiveSheet.Range("B3:B5")
      For Each taskItem In taskList
        ListBoxTask.AddItem Split(taskItem, Chr(10))(0)
      Next taskItem
    End With
End Sub

1 个答案:

答案 0 :(得分:1)

除了@Variatus建议 - 如果使用正确的数据类型创建变量,您的代码基本上就可以了。 taskListtaskItem应为Range类型。对于单元格,您可以明确引用该Value的{​​{1}}属性并将其传递给Range

我还添加了一种通过名称获取Split的方法,而不是直接引用它。如果需要,这将使您的代码更容易模块化。

ListBox

enter image description here