【发布时间】:2017-10-11 04:28:01
【问题描述】:
我正在尝试拆分列表框中的项目,以便我只显示到第一个换行符,但似乎下标超出范围,我无法查明错误。
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
【问题讨论】:
-
确保关闭子:
End Sub -
嗨,我确实关闭了原始代码中的子代码,只是我忘记包含在这篇文章中
-
您在数据类型上玩得很输。
taskitem是您分配给变体的范围。然后,您打算获取该范围的默认属性Value并将其拆分。尝试指定Value属性,以便 Excel 可以知道您并不是要拆分范围对象。但是,Value属性可以是 Split 函数所需的字符串。当然,列表框也需要一个字符串,而不是一个变体。我怀疑一旦您在代码中添加一点精度,错误就会消失。