如果我有一个文本框,内容如“大棕狐跳过懒狗”, 我如何拆分它并将内容放在这样的列表框中:
0,则
1,大
2,棕
3,狐狸
4,跃升
5,用
6,
7,懒惰
8,狗
PLZ帮助,新手
答案 0 :(得分:1)
您可以使用Split()函数。像这样:
Public Function SplitToListBox(ByVal strInput As String) As String
Dim strTemp() As String
Dim intCounter As Integer
Dim strRowsource As String
Const strQuote As String = """"
strTemp() = Split(strInput, " ")
For intCounter = 0 To UBound(strTemp())
If Len(strRowsource) = 0 Then
strRowsource = strQuote & Trim(CStr(intCounter)) & strQuote & "; " & strQuote & strTemp(intCounter) & strQuote
Else
strRowsource = strRowsource & "; " & strQuote & Trim(CStr(intCounter)) & strQuote & "; " & strQuote & strTemp(intCounter) & strQuote
End If
Next intCounter
SplitToListBox = strRowsource
End Function
现在,您需要一个用两列定义的列表框,并且您需要在这些列上适当地设置宽度(0.5“; 1”如果您想要同时查看两者; 0“; 1”工作如果你想隐藏第一列(虽然如果你不改变默认属性它将是绑定列)。你还需要将RowSourceType属性设置为“值列表”。
一个警告:
当Rowsource属性为值列表时,它的长度存在硬性限制。我不记得确切的数字,但它超过了2000个字符。如果您需要更多,那么我建议您将创建列表的代码转换为自定义函数。在组合/列表框的帮助中有关于如何执行此操作的说明。