Rekursion in VBA-Funktionen
Ende-Bedingung festlegen
Die eigentliche Arbeit wird von der rekursiv aufgerufenen Prozedur FindeZeichen() erledigt, dessen zwei Argumente den bereits verarbeiteten und den noch unbearbeiteten Teil der Zeichenkette enthalten.
Private Sub FindeZeichen(strBisher As String, strRest As String)
Dim intZeile As Integer
Dim intSpalte As Integer
If Len(strRest) = 0 Then
rngHier.Value = strBisher
Set rngHier = rngHier.Offset(1, 0).Range("A1")
Else
intSpalte = Val(Left(strRest, 1))
For intZeile = 0 To arrAnzahl(intSpalte) - 1
FindeZeichen strBisher & arrZeichen(intSpalte)(intZeile), Mid(strRest, 2)
Next
End If
End SubDas Ende der Rekursion tritt dann ein, wenn strRest leer ist. Dann ist jeweils ein "Ast" fertig durchlaufen, also die komplette Rufnummer in eine neue Buchstaben-Kombination umgewandelt und kann nun geschrieben werden.
Diese Seite ist für Mitglieder von akademie.de reserviert.
Möchten Sie die Mitgliedschaft 14 Tage kostenlos testen und den Beitrag komplett lesen?
Oder möchten Sie zunächst mehr über diesen Beitrag erfahren und die Leseproben sehen?
Ich bin bereits Mitglied