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

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Befehler Ein o<strong>der</strong> mehrere Befehle<br />

Beispiel. Eine 4x4-Matrix auf das Tabellenblatt rechts und unterhalb <strong>der</strong> aktiven Zelle zaubern. Elemente<br />

sind spaltenweise numeriert.<br />

Sub MatrixOnTable()<br />

Dim i As Integer, j As Integer, n As Integer<br />

n = 0<br />

For j = 0 To 3<br />

For i = 0 To 3<br />

n = n + 1<br />

ActiveCell.Offset(i, j).Value = n<br />

Next i<br />

Next j<br />

End Sub<br />

For Each ... Next<br />

Im Unterschied zur "For ... Next"-Schleife wird kein Zähler hoch- o<strong>der</strong> hinuntergezählt, son<strong>der</strong>n eine<br />

Auflistung von Datenfel<strong>der</strong>n o<strong>der</strong> Objekten abgearbeitet. Die Reihenfolge orientiert sich an <strong>der</strong> Speicherplatzfolge.<br />

Syntax<br />

For Each Element In Gruppe<br />

Befehle<br />

Next<br />

Parameter Verwendung<br />

Element Variable, die ein einzelnes Element <strong>der</strong> Auflistung<br />

enthält<br />

Gruppe Auflistung von Daten o<strong>der</strong> Objekten<br />

Beispiel. Eine 4x4-Matrix auf das Tabellenblatt rechts und unterhalb <strong>der</strong> aktiven Zelle zaubern. Matrix<br />

zeilenweise numerieren. D.h, intern werden Zellbereich zeilenweise abgearbeitet.<br />

Sub MatrixOnTable()<br />

Dim NextCell As Range, ThisRegion As Range<br />

n = 0<br />

Set ThisRegion = ActiveCell.Resize(4, 4)<br />

For Each NextCell In ThisRegion<br />

n = n + 1<br />

NextCell.Value = n<br />

Next<br />

End Sub<br />

3.6.3.1 Schleifen abbrechen<br />

Eine Schleife kann während <strong>der</strong> Ausführung beendet werden.<br />

Syntax<br />

Exit Do<br />

Exit For<br />

Parameter Verwendung<br />

Beispiel. Eine Endlosschleife nach 100 Durchläufen beenden.<br />

Sub Count()<br />

Dim i As Integer<br />

i = 0<br />

Do<br />

i = i + 1<br />

If i > 100 Then Exit Do<br />

Loop<br />

MsgBox i<br />

End Sub<br />

38

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!