Grundlagen der Programmierung mit VBA Visual Basic for
Grundlagen der Programmierung mit VBA Visual Basic for
Grundlagen der Programmierung mit VBA Visual Basic for
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