User Tools

Site Tools


vba:functions:strsplit

Table of Contents

[VBA] strSplit()

Diese Funktion zerlegt einen String in Teile einer festen Breite

Download udf_strSplit.bas

Beispiele

Für die Ausgabe der Resultate verwendete ich die Funktion [VBA] print_r()

→ Read more...

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()>  ()

Code

udf_strSplit.bas
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
vba/functions/strsplit.txt · Last modified: 02.06.2014 14:39:34 (external edit)