====== [VBA] strSplit() ======
Diese Funktion zerlegt einen String in Teile einer festen Breite
{{:vba:functions:udf_strsplit.bas|Download udf_strSplit.bas}}
===== Beispiele =====
{{section>:snippets#vba_print_r&noheader&firstseconly}}
print_r strSplit("abcdefghi", 4)
(
[0] => 'abcd'
[1] => 'efgh'
[2] => 'i'
)
print_r strSplit("abcdefghi", 3)
(
[0] => 'abc'
[1] => 'def'
[2] => 'ghi'
)
print_r strSplit("", 4)
()
===== Code =====
Attribute VB_Name = "udf_strSplit"
'-------------------------------------------------------------------------------
'File : udf_strSplit.bas
' Copyright mpl by ERB software
' All rights reserved
' http://wiki.yaslaw.info/dokuwiki/doku.php/vba/functions/strsplit
'Environment : VBA 2010 +
'Version : 1.0.0
'Name : strSplit
'Author : Stefan Erb (ERS)
'History : 02.06.2014 - ERS - Creation
'-------------------------------------------------------------------------------
Option Explicit
'/**
' * Splittet ein String in Teile nach einer vordefinierten Grösse auf
' * @param String zu zerlegender String
' * @param Integer Grösse der Teile
' * @return Array
' */
Public Function strSplit(ByVal iString As String, Optional ByVal iSplitLen As Integer = 1) As String()
If Len(iString) = 0 Then Exit Function
Dim size As Integer: size = (Len(iString) \ iSplitLen + IIf(Len(iString) Mod iSplitLen > 0, 1, 0))
Dim retArr() As String: ReDim retArr(size - 1)
Dim i As Integer: For i = 0 To size - 1
retArr(i) = Mid(iString, (i * iSplitLen) + 1, iSplitLen)
Next i
strSplit = retArr
End Function