31.01.2013 Aufrufe

Grundlagen der Programmierung mit VBA Visual Basic for

Grundlagen der Programmierung mit VBA Visual Basic for

Grundlagen der Programmierung mit VBA Visual Basic for

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

3.2.5 Prozeduren und Funktionen abbrechen<br />

Prozeduren und Funktionen können während <strong>der</strong> Abarbeitung beendet werden.<br />

Syntax<br />

Exit Sub<br />

Exit Function<br />

Beispiel. Subroutine nach 100 Schleifendurchgängen beeenden<br />

Sub Count()<br />

Dim i As Integer<br />

i = 0<br />

Do<br />

i = i + 1<br />

If i > 100 Then<br />

MsgBox i<br />

Exit Sub<br />

End If<br />

Loop<br />

End Sub<br />

3.2.6 Rekursion<br />

Wenn Programme sich selbst aufrufen, spricht man von Rekursion. Dies wird i.d.R. bei Such- o<strong>der</strong><br />

Sortieralgorithmen verwendet. Rekursion macht nur <strong>mit</strong> "Call By Value" Sinn, <strong>mit</strong> "Call By Reference"<br />

funktioniert sie nicht. Mit dem klassischen FORTRAN war Rekursion unmöglich.<br />

Beispiel. Berechnung <strong>der</strong> Fakultät einer Zahl: n! = 1*2*3*...*(n-1)*n<br />

Sub fakultät()<br />

MsgBox "Iterativ: " & FakI(6)<br />

MsgBox "Rekursiv: " & FakR(6)<br />

End Sub<br />

Iterative Berechnung.<br />

Function FakI (ByRef n As Long) As Long<br />

Dim erg As Long, i As Long<br />

Erg = 1<br />

For i = 1 To n<br />

Erg = erg*i<br />

Next i<br />

FakI = erg<br />

End Function<br />

Rekursive Berechnung.<br />

Function FakR (ByVal n As Long) As Long<br />

If n = 1 Then<br />

FakR = 1<br />

Else<br />

FakR = n * FakR(n-1)<br />

End If<br />

End Function<br />

Den Ablauf einer rekursiven <strong>Programmierung</strong> versteht man am besten, wenn man ihn sich im Debugger<br />

anschaut.<br />

Aufgabe. Programmieren Sie beide Möglichkeiten zur Berechnung <strong>der</strong> Fakultät einer Zahl. Verfolgen<br />

Sie den Ablauf im Debugger. Ergründen Sie bei dieser Gelegenheit das <strong>VBA</strong>-Objekt MsgBox.<br />

3.2.7 <strong>VBA</strong> Funktionen<br />

Es gibt eine große Menge von fertigen Funktionen in <strong>VBA</strong>. Den besten Überblick erhält man in <strong>der</strong><br />

Online-Sprachreferenz Hilfe -> <strong>Visual</strong> <strong>Basic</strong> Sprachreferenz<br />

22

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!