====== [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