Rubrik: Variablen/Strings · String-Operationen | VB-Versionen: VB6, VBA | 04.05.16 |
Strings schnell duplizieren II Diese Funktion dupliziert einen vorgegeben String x mal. | ||
Autor: Rolf Wahlbrinck | Bewertung: | Views: 5.111 |
ohne Homepage | System: WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Angeregt vom Tipp Strings schnell duplizieren wurde nachfolgende Funktion erstellt, die hoher Anzahl von Duplizierungen noch etwas schneller arbeitet.
Public Function StringsPlus(ByRef strHin As String, ByVal Anzahl As Long) As String ' ================================================================ ' Aktion: Zeichkette mit Wiederholungen von strHin erzeugen ' Hinweis: Anzahl: 0 -> leer zurück, strHin: leer -> leer zurück ' ' Aufruf z.B. T = StringsPlus("a--", 3) -> "a--a--a--" ' ' Hin: Zeichenkette als String ' Hin: Anzahl als Long ' Zurück: Zeichenkette als String ' Tipp: ' ================================================================ Dim LaengeStrHin As Long Dim LaengeGesamt As Long LaengeStrHin = Len(strHin) If LaengeStrHin < 1& Then Exit Function ' leer zurück End If If Anzahl < 1 Then Exit Function ' leer zurück End If StringsPlus = strHin LaengeGesamt = LaengeStrHin * Anzahl Do If Len(StringsPlus) < LaengeGesamt Then StringsPlus = StringsPlus + StringsPlus Else StringsPlus = Left$(StringsPlus, LaengeGesamt) Exit Function ' fertig End If Loop End Function
Aufrufbeispiel
Der String "Test" soll 23 mal dupliziert werden.
Dim Ziel As String Ziel = StringsPlus("Test", 23)