Denne tager indholdet af text1.text og lægger det over i en listbox.
Option Explicit
Dim arrSplit() As String
Private Sub Command1_Click() Dim intCount As Integer arrSplit = Split(Text1.Text, \",\") For intCount = 0 To UBound(arrSplit) List1.AddItem arrSplit(intCount) Next intCount End Sub
\'-------------------------------- Module1/Form1 -------------------------------- Public Function Split(ByVal Expression As String, Optional Delimiter As String = \" \", _ Optional Limit As Long = -1, _ Optional Compare As VbCompareMethod = vbBinaryCompare) As Variant
Const AvgSize As Integer = 10 Dim ArrayIncr As Long Dim j As Long Dim k As Long Dim StrPos() As Long Dim StrLen() As Long Dim ExprLen As Long Dim nElements As Long Dim RetArray As Variant Split = Empty
ExprLen = Len(Expression) + 1 If ExprLen = 0 Then Exit Function If StrComp(Right$(Expression, Len(Delimiter) + 1), _ Delimiter, Compare) = 0 Then Expression = Left$ _ (Expression, ExprLen - Len(Delimiter)) ExprLen = ExprLen - Len(Delimiter) End If ArrayIncr = ExprLen / AvgSize If ArrayIncr < 10 Then ArrayIncr = 20 Select Case Limit Case Is > 0 Case 0, Is < -1 Exit Function End Select
If Len(Delimiter) = 0 Then Split = Array(Expression) End If
ReDim StrPos(1 To ArrayIncr) ReDim StrLen(1 To ArrayIncr)
k = 1 j = InStr(k, Expression, Delimiter) If j = 0 Then Split = Array(Expression) Exit Function Else While j > 0 nElements = nElements + 1 StrPos(nElements) = k StrLen(nElements) = j - k k = j + Len(Delimiter) j = InStr(k, Expression, Delimiter) If nElements = UBound(StrPos) Then ReDim Preserve _ StrPos(1 To UBound(StrPos) + ArrayIncr) ReDim Preserve _ StrLen(1 To UBound(StrLen) + ArrayIncr) End If Wend ReDim RetArray(nElements) For j = 1 To nElements RetArray(j) = _ Mid$(Expression, StrPos(j), StrLen(j)) Next j Split = RetArray End If End Function \'-------------------------------- Module1/Form1 --------------------------------
\'------------------------------------ Form1 ------------------------------------ Private Sub Form_Load() arrSplit = Split(\"Tekst1,Tekst2,Tekst3,\", \",\") For intCount = 1 To UBound(arrSplit) List1.AddItem arrSplit(intCount) Next intCount End Sub \'------------------------------------ Form1 ------------------------------------
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.