VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

VBA-Begriff: Beispiel zur For Each...Next-Anweisung

In diesem Beispiel wird über die Zellen A1:D10 in Sheet1 eine Schleife durchlaufen. Wenn eine der Zellen einen Wert unter 0,001 besitzt, ersetzt der Code den Wert mit 0 (Null).

For Each c in Worksheets("Sheet1").Range("A1:D10")
    If c.Value < .001 Then
        c.Value = 0
    End If
Next c

In diesem Beispiel wird im Bereich "Testbereich" eine Schleife durchlaufen und anschließend die Anzahl der leeren Zellen des Bereichs angezeigt.

numBlanks = 0
For Each c In Range("testRange")
    If c.Value = "" Then
        numBlanks = numBlanks + 1
    End If
Next c
MsgBox "There are " & numBlanks & " empty cells in this range."

In diesem Beispiel werden alle Arbeitsmappen außer derjenigen, in der das Beispiel ausgeführt wird, geschlossen und Änderungen gespeichert.

For Each w In Workbooks
    If w.Name <> ThisWorkbook.Name Then
        w.Close savechanges:=True
    End If
Next w

In diesem Beispiel werden alle Tabellenblätter in der aktiven Arbeitsmappe gelöscht, ohne das Bestätigungsdialogfeld anzuzeigen. Es muss noch mindestens eine weitere sichtbare Tabelle in der Arbeitsmappe vorhanden sein.

Application.DisplayAlerts = False
For Each w In Worksheets
    w.Delete
Next w
Application.DisplayAlerts = True

In diesem Beispiel wird ein neues Tabellenblatt erstellt, in das anschließend eine Liste aller Namen in der aktiven Arbeitsmappe, einschließlich ihrer Formeln in der Schreibweise der A1-Formatvorlage und in der Sprache des Benutzers, eingefügt wird.

Set newSheet = ActiveWorkbook.Worksheets.Add
i = 1
For Each nm In ActiveWorkbook.Names
    newSheet.Cells(i, 1).Value = nm.NameLocal
    newSheet.Cells(i, 2).Value = "'" & nm.RefersToLocal
    i = i + 1
Next nm