Zirkelbezüge/Rekursion

Von: Lorenz Hölscher
Stand: 10. Juni 2011
Anmelden um Kommentare zu schreiben

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 Sub

Das 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
Jetzt Probemitglied werden
Ich kann in den 14 Tagen Probezeit formlos z.B. per E-Mail stornieren. Wenn ich das nicht tue, entscheide ich mich für ein