Inhaltsverzeichnis
In großen Datenbanken verbringen Sie die meiste Zeit damit, sich mit Bereichen und Zellen zu beschäftigen. Manchmal müssen Sie dieselbe Aktion in großen Bereichen oder einer großen Anzahl von Zellen wiederholen. Das kostet Sie Zeit und verringert Ihre Effizienz. Die intelligente Lösung für dieses Problem ist die Erstellung eines VBA-Programmiercode die jede Zelle im Bereich durchläuft und die von Ihnen vorgegebene Aktion ausführt. In diesem Artikel werden wir besprechen, wie man VBA für jede Zelle im Bereich in Excel ausführt.
Download Arbeitsbuch Praxis
Laden Sie dieses Übungsbuch herunter, um die Aufgabe zu üben, während Sie diesen Artikel lesen.
VBA-Code für jede Zelle in einem Bereich in Excel.xlsx3 geeignete Methoden zur Anwendung von VBA für jede Zelle im Bereich in Excel
Mit einem VBA-Code können Sie dieselbe Formel für jede Zelle in einem Bereich, einer Spalte oder einer Zeile verwenden. In diesem Abschnitt werden wir alle Abschnitte durchgehen.
1. für jede Zelle im Bereich VBA anwenden
Stellen Sie sich eine Situation vor, in der Sie denselben VBA-Code für jede Zelle in einem bestimmten Bereich anwenden müssen ( B3:F12 Zu diesem Zweck erstellen wir einen VBA-Code. Die Anweisungen lauten wie folgt
Schritt 1:
- Um unsere Arbeit zu vereinfachen, fügen wir zunächst eine Befehlsschaltfläche ein. Gehen Sie zu Ihrer Registerkarte "Entwickler auswählen einfügen. und klicken Sie auf die Befehlsschaltfläche, um eine zu erhalten.
- Wir haben unsere Befehlsschaltfläche erhalten.
- Klicken Sie mit der rechten Maustaste auf die Befehlsschaltfläche, um die Optionen zu öffnen. Wählen Sie und klicken Sie auf Eigenschaften um einige Optionen zu ändern.
- Ändern Sie die Beschriftung der Befehlsschaltfläche. Hier ändern wir den Namen in " Hier klicken ".
Schritt 2:
- Doppelklicken Sie nun auf die Befehlsschaltfläche, um das VBA-Programm zu öffnen Modul Hier werden wir unseren VBA-Code für die Aufgabe aufschreiben.
- Zunächst deklarieren wir zwei Variablen, die wir Bereichsobjekte nennen CL und Rng Sie können sie benennen, wie Sie wollen.
Dim CL As Range Dim Rng As Range
- Weisen Sie mit diesem Befehl einen bestimmten Bereich zu,
Set Rng = Worksheets("VBA1").Range("B3:F12")
- Hier ist VBA1 der Name unseres Arbeitsblatts und B3:F12 ist unser definierter Bereich.
- Jetzt werden wir den Code verwenden, um jede Zelle des Bereichs zu durchlaufen. Der Code lautet,
For Each CL In Rng CL.Value = 100 Next CL
- Wert = 100 verweist darauf, dass es zurückkehren wird 100 für jede Zelle im angegebenen Bereich.
- Unser endgültiger Code lautet also,
Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng CL.Value = 100 Next CL End Sub
- Gehen Sie zu Ihrem Hauptarbeitsblatt und klicken Sie auf die Befehlsschaltfläche, um VBA für jede Zelle im Bereich auszuführen.
Schritt 3:
- Wie bei numerischen Werten können wir auch Textwerte für jede Zelle im Bereich eingeben. In diesem Fall gehen Sie zum VBA-Fenster und fügen anstelle von 100 den Textwert ein, den Sie durchlaufen lassen möchten. Die geänderte Zeile lautet
CL.Wert = "ExcelWIKI"
- Klicken Sie auf die Befehlsschaltfläche und der VBA-Code gibt diesen Textwert für jede Zelle im Bereich zurück.
Schritt 4:
- In diesem Schritt gehen wir ein wenig tiefer: Wir wollen jede leere Zelle in unserem Bereich hervorheben.
- Fügen Sie dazu eine neue Bedingung zu Ihrem bestehenden Code hinzu. Die neue Formel lautet,
If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If
- Dieser neue Code wird die leere Zelle mit roter Farbe hervorheben. Der vollständige Code lautet also,
Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If Next CL End Sub
- Das Ergebnis erhalten Sie, wenn Sie auf die Befehlsschaltfläche klicken.
Ähnliche Lektüre:
- Wie man das Range-Objekt von VBA in Excel verwendet (5 Eigenschaften)
- VBA-Bereichsoffset verwenden (11 Möglichkeiten)
- Wie man Text in Excel zählt (7 einfache Tricks)
2. für jede Zelle in einer Spalte eines Bereichs VBA-Code einfügen
Wir können auch VBA-Code für jede Zelle in einer Spalte ausführen. Angenommen, wir haben eine Spalte mit Zahlen und müssen Werte, die kleiner als 10 sind, einfärben. Wir werden einen VBA-Code erstellen, um jede Zelle in der Spalte auszuführen.
Schritt 1:
- Erstellen Sie eine Befehlsschaltfläche gemäß den Anweisungen, die wir besprochen haben.
Schritt 2:
- Doppelklicken Sie auf die Befehlsschaltfläche, um das VBA-Fenster zu öffnen.
- Wir deklarieren eine Variable namens " c "Wir verwenden hier den Typ Long-Variable, weil Long-Variablen eine größere Kapazität haben als Integer-Variablen.
Dim c As Long
- Als Nächstes fügen Sie die Codezeile hinzu, die die Schriftfarbe aller Zellen in unserer Spalte in Schwarz ändert.
Columns(1).Font.Color = vbBlack
- Fügen Sie die Schleife für diesen Code ein.
For c = 1 To Rows.Count Next c
- In diesem Schritt geben wir eine Bedingung ein, um die Werte einzufärben, die kleiner sind als der Wert der Zelle C4 (10). Geben Sie dazu diesen Code ein.
If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If
- Der endgültige Code lautet also,
Private Sub CommandButton1_Click () Dim c As Long Columns(1).Font.Color = vbBlack For c = 1 To Rows.Count If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If Next c End Sub
- Die VBA wird ausgeführt und die Ergebnisse werden angezeigt, wenn Sie auf die Befehlsschaltfläche klicken.
3. einen VBA-Code für jede Zelle in einer Zeile eines Bereichs schreiben
Wir können auch für jede Zelle in einer Zeile einen VBA-Code ausführen. In der gegebenen Zeile müssen wir für jede Zelle der Zeile die gleiche Aktion durchführen.
Schritt 1:
- Fügen Sie eine Befehlsschaltfläche hinzu und ändern Sie ihren Namen in " Klicken Sie hier! "
- Doppelklicken Sie auf die Schaltfläche, um das VBA-Fenster zu öffnen, und schreiben Sie den unten angegebenen VBA-Code auf.
Private Sub CommandButton1_Click () Dim r As Range Dim MyString As String 'For Each cell in a row, and apply a yellow color fill For Each r In Range("B3:F3").Rows r.Interior.ColorIndex = 6 Next End Sub
- Der Code durchläuft jede Zelle der Zeile und füllt jede Zelle mit einer gelben Farbe.
- Klicken Sie auf die Schaltfläche und unser Ergebnis ist da.
Kurz notiert
👉 Wenn Sie Ihre Entwickler-Registerkarte nicht sichtbar haben, können Sie sie mit dieser Anleitung aktivieren.
Angepasste Symbolleiste für den Schnellzugriff → Weitere Befehle → Multifunktionsleiste anpassen → Entwickler → OK
Schlussfolgerung
Wir haben drei verschiedene Ansätze durchgespielt, um VBA für jede Zelle in einem Bereich auszuführen. Wenn Sie Fragen haben, können Sie gerne einen Kommentar abgeben. Sie können auch unsere anderen Artikel zu den Excel-Aufgaben lesen!