Jag har en sträng som ser ut typ så här: Ett kodförslag : Efter att ha ändrat dessa två rader:Dela upp sträng
<code>
51568,4664,6484,65848,6484,684352,12135,32298
</code>
Kan jag på nått vis få den updelad i en array med X antal nummer i varje. Så här:
<code>
strArray(0) = "51568,4664,6484"
strArray(1) = "65848,6484,684352"
strArray(2) = "12135,32298"
</code>Sv: Dela upp sträng
<code>
Private Sub Form_Load()
Dim s As String
Dim size As Integer
s = "51568,4664,6484,65848,6484,684352,12135,32298"
size=3 ' Antalet element per rad i den nya arrayen
Dim parts() As String
Dim newarray() As String
Dim count As Integer
Dim i As Integer
Dim max As Integer
count = 0
Do While s <> ""
parts = Split(s, ",", size+1) ' Splitta upp strängen i size+1 element
If UBound(parts) = size Then
s = parts(size) ' Återstoden av strängen som måste splittas
parts(size) = ""
Else
s = "" ' Vi är klara, inga fler element att bearbeta
End If
count = count + 1
ReDim Preserve newarray(1 To count)
' Slå ihop elementen
newarray(count) = Join(parts, ",")
' Ta bort avslutande kommatecken vid behov
If Right(newarray(count)) = "," Then
newarray(count) = Left(newarray(count), Len(newarray(count)) - 1)
End If
' Skriv ut...
Debug.Print newarray(count)
Loop
End Sub
</code>Sv:Dela upp sträng
<code>
ReDim Preserve newarray(1 To count)
If Right(newarray(count)) = "," Then
</code>
till
<code>
ReDim Preserve newarray(count)
If Right(newarray(count),1) = "," Then
</code>
Så fungera det bra, tackar!