BroskanMedlem sedan mars 2000126 inlägg Jag undrar varför det här inte funkar i Excel97 men i Excel2000. Jag vill dela upp en sträng till en array separerad med ":". Är det så att Split inte fungerar i äldre versioner.
strTmp = "123:124:125:126"
arrTmp = Split(strTmp, ":")
MsgBox UBound(arrTmp)
Det blir error på Split funktionen. Hur skall man lösa det?
//Broskan
Broskan,
Split-funktionen introducerades i version 2000.
Följande funktion kan vara dig behjälplig:
Function Split97(sString As String, _
Optional sDelim As String = " ", _
Optional ByVal Limit As Long = -1, _
Optional Compare As Long = vbBinaryCompare) As Variant
Dim vOut As Variant
Dim StrLen As Long
Dim DelimLen As Long
Dim Lim As Long
Dim N As Long
Dim p1 As Long
Dim p2 As Long
StrLen = Len(sString)
DelimLen = Len(sDelim)
ReDim vOut(0 To 0)
If StrLen = 0 Or Limit = 0 Then
ElseIf DelimLen = 0 Then
vOut(0) = sString
Else
Limit = Limit - 1
N = -1
p1 = 1
Do While p1 <= StrLen
p2 = InStr(p1, sString, sDelim, Compare)
If p2 = 0 Then p2 = StrLen + 1
N = N + 1
If N > 0 Then ReDim Preserve vOut(0 To N)
If N = Limit Then
vOut(N) = Mid$(sString, p1)
Exit Do
Else
vOut(N) = Mid$(sString, p1, p2 - p1)
End If
p1 = p2 + DelimLen
Loop
End If
Split97 = vOut
End Function
...och John Walkenbachs lösningsförslag visas här:
http://www.j-walk.com/ss/excel/tips/tip32.htm
BroskanMedlem sedan mars 2000126 inlägg Super Dennis!
Det var just vad som behövdes. Nu fungerar det galant.
Har du det tipset på din sida annars kanske det kunde vara nåt att lägga in.
//Broskan
Broskan,
Det liksom mycket annat kommer successivt att läggas ut :)
F n är det StarCalc 6.0 för Windows som är "het" för mig.