BreadCrumbs: Excel
Excel
From Luke Jackson
(Difference between revisions)
Revision as of 11:32, 3 May 2008 (edit) Ljackson (Talk | contribs) ← Previous diff |
Revision as of 11:33, 3 May 2008 (edit) Ljackson (Talk | contribs) Next diff → |
||
Line 64: | Line 64: | ||
End Function | End Function | ||
</pre> | </pre> | ||
+ | |||
+ | == Souces == | ||
+ | |||
+ | * http://www.eggheadcafe.com/forumarchives/macofficeExcel/Feb2006/post25897535.asp | ||
[[Category: Mac OS X]] | [[Category: Mac OS X]] |
Revision as of 11:33, 3 May 2008
Sub SplitDemo() Dim txt As String, ftxt As String, x As Variant, i As Long txt = ActiveCell.Value x = Split(txt, "/") For i = 0 To UBound(x) MsgBox x(i) Next i ftxt = x(1) & "/" & x(0) & "/" & x(2) MsgBox ftxt End Sub Public Function Split(ByVal sInput As String, _ Optional ByVal sDelimiter As String, _ Optional ByVal nLimit As Long = -1, _ Optional ByVal bCompare As Integer = vbBinaryCompare _ ) As Variant Dim nCount As Long Dim nPos As Long Dim nDelimiterLength As Long Dim nStart As Long Dim sOutput() As String If nLimit = 0 Then Split = Array() Else nDelimiterLength = Len(sDelimiter) If nDelimiterLength = 0 Then Split = Array(sInput) Else nStart = 1 nPos = InStr(nStart, sInput, sDelimiter, bCompare) Do While nPos ReDim Preserve sOutput(0 To nCount) As String If nCount + 1 = nLimit Then sOutput(nCount) = Mid(sInput, nStart) Exit Do Else sOutput(nCount) = Mid(sInput, nStart, nPos - nStart) nStart = nPos + nDelimiterLength End If nCount = nCount + 1 nPos = InStr(nStart, sInput, sDelimiter, bCompare) Loop ReDim Preserve sOutput(0 To nCount) As String sOutput(nCount) = Mid(sInput, nStart) Split = sOutput End If End If End Function