Diese Funktion zerlegt einen String in Teile einer festen Breite
Für die Ausgabe der Resultate verwendete ich die Funktion [VBA] print_r()
print_r strSplit("abcdefghi", 4) <String()> ( [0] => <String> 'abcd' [1] => <String> 'efgh' [2] => <String> 'i' ) print_r strSplit("abcdefghi", 3) <String()> ( [0] => <String> 'abc' [1] => <String> 'def' [2] => <String> 'ghi' ) print_r strSplit("", 4) <String()> ()
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<String> ' */ 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