SPLIT-funktion för Excel 97
I Excel 2000 och senare finns SPLIT-funktionen att tillgå som en inbyggd VBA-funktion. Den praktiska nyttan av funktionen visas bl a i nedanstående angivna tips.Följande tips kräver SPLIT-funktionen för att fungera i Excel 97:
Option Explicit
Sub Dela_Text()
Dim stText As String
Dim vaText As Variant
Dim i As Long
stText = "Att dela på meningar är inte meningsfullt men lärorikt !"
vaText = Split(stText, " ")
For i = LBound(vaText) To UBound(vaText)
MsgBox vaText(i)
Next i
End Sub
Function Split(ByVal Text As String, Optional ByVal Delimiter As String = " ", _
Optional Limit As Long = -1) As Variant
'© 2002 Alla rättigheter XL-Dennis
'ReDim här ges oss möjlighet att dimensionera om matrisen senare i koden
'samtidigt som den initiallt är dimensionerad.
ReDim stTextDel(0 To 100) As String
Dim stTextDel() As String
Dim lnAntal As Long
Dim lnLangd As Long
Dim lnStartIndex As Long
Dim lnSlutIndex As Long
lnLangd = Len(Text)
lnStartIndex = 1
Do While lnStartIndex <= lnLangd And lnAntal <> Limit
lnSlutIndex = InStr(lnStartIndex, Text, Delimiter, vbBinaryCompare)
If lnSlutIndex = 0 Then lnSlutIndex = lnLangd + 1
If lnAntal > UBound(stTextDel) Then
ReDim Preserve stTextDel(0 To lnAntal + 99) As String
End If
stTextDel(lnAntal) = Mid(Text, lnStartIndex, lnSlutIndex - lnStartIndex)
lnAntal = lnAntal + 1
lnStartIndex = lnSlutIndex + Len(Delimiter)
Loop
ReDim Preserve stTextDel(0 To lnAntal - 1) As String
Split = stTextDel()
End Function