Zähler in Excel VBA

In MS Excel gibt es verschiedene Möglichkeiten zu zählen. Wir können eingebaute Funktionen wie Count, CountIf, CountA, CountBlank verwenden, die es in Excel gibt. Diese Funktionen werden jedoch in VBA nicht ordnungsgemäß ausgeführt und sind ebenfalls eingeschränkt. Um dies zu überwinden, haben wir viele Funktionen und Befehle und den Prozess, mit dem wir VBA Counter ausführen können. Der VBA-Zähler wird zum Zählen der Zelle, zum Zählen des Zelleninhalts und auch als Countdown-Timer verwendet, wenn wir die Arbeitszeittabelle zum Messen einer beliebigen Aufgabe implementieren können.

Mit Hilfe von VBA Counter können wir auch die Zellen mit ihren Farbindizes zählen. Dieser Farbindex kann sowohl die Schriftfarbe als auch die Hintergrundfarbe der Zellen und fettgedruckte Werte enthalten.

Wie erstelle ich einen Leistungsindikator in Excel VBA?

Im Folgenden finden Sie verschiedene Beispiele zum Erstellen eines Leistungsindikators in Excel mithilfe von VBA-Code.

Sie können diese Excel-Vorlage für VBA-Zähler hier herunterladen - Excel-Vorlage für VBA-Zähler

VBA-Zähler - Beispiel 1

Wir haben einige Zufallszahlen in Spalte A. Alle genannten Werte sind zufällig und haben keine Verbindung wie in der Reihenfolge oder in der Reihe. Mit Hilfe des VBA-Counter-Prozesses zählen wir nun die obersten und untersten Wertezahlen und erhalten die Ausgabe in den Zellen D2 und D3.

Wir werden die Zahl zählen und sie gleichzeitig gemäß dem Farbtext in Zelle C2 und C3 einfärben.

Führen Sie dazu die folgenden Schritte aus:

Schritt 1: Erstellen Sie eine Befehlsschaltfläche, die auf der Registerkarte Entwickler unter dem ActiveX-Steuerelement des Menüs Einfügen verfügbar ist (siehe Abbildung unten).

Schritt 2: Erstellen Sie nun eine Schaltfläche wie unten gezeigt.

Schritt 3: Klicken Sie mit der rechten Maustaste auf die erstellte Schaltfläche und wählen Sie die Option Eigenschaften .

Schritt 4: Ändern Sie die Beschriftung der Schaltfläche, die standardmäßig CommandButton2 ist, in einen beliebigen Namen. Hier haben wir das zu " Counting Cells By Value " geändert.

Schritt 5: Klicken Sie anschließend mit der rechten Maustaste auf die erstellte Schaltfläche und wählen Sie die Option Code anzeigen, um das VBA-Fenster aufzurufen.

Visual Basic Editor wird jetzt geöffnet und standardmäßig ist bereits eine Unterroutine für die Befehlsschaltfläche erstellt.

Code:

 Private Sub CommandButton2_Click () End Sub 

Schritt 6: Jetzt müssen 3 Variablen deklariert werden. Deklarieren Sie die erste Variable, in der wir die Zahlen speichern, und die zweite Variable, in der wir den Zähler wie unten gezeigt als Ganzzahl verwenden. Und die dritte Variable ist so lang wie sie ist, um die in jeder Zeile gespeicherten Zahlen zu zählen.

Code:

 Private Sub CommandButton2_Click () Dim A As Integer Dim Count As Integer Dim LRow As Long End Sub 

Schritt 7: Nun wählen wir die erste Zelle des Blattes aus, die A1 als unser Bereich ist. Von hier aus werden wir die Zellen auswählen, bis sie die Nummern haben.

Code:

 Private Sub CommandButton2_Click () Dim A As Integer Dim Count As Integer Dim LRow As Long LRow = Bereich ("A1"). CurrentRegion.End (xlDown) .Row End Sub 

Schritt 8: Jetzt öffnen und schreiben wir die Bedingung in die For-Schleife für. Wenn die Zelle einen Wert größer als 10 hat, wird die Schriftfarbe der Zelle in Gelb geändert und für den Wert kleiner als 10 wird die Schriftfarbe der Zelle in geändert Blau mit den Farbindizes 44 bzw. 55 .

Code:

 Private Sub CommandButton2_Click () Dim A As Integer Dim Count As Integer Dim LRow As Long LRow = Bereich ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 To LRow If Cells (A, 1) .Value> 10 Dann Count = Count + 1 Cells (A, 1) .Font.ColorIndex = 44 Else Cells (A, 1) .Font.ColorIndex = 55 End If Next A End Sub 

Schritt 9: Um nun die Ausgabe der Werte von Zelle A1 bis zum Ende zu sehen, wählen wir die Zellen aus, wie oben durch den folgenden Code erläutert.

Code:

 Private Sub CommandButton2_Click () Dim A As Integer Dim Count As Integer Dim LRow As Long LRow = Bereich ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 To LRow If Cells (A, 1) .Value> 10 Dann Count = Count + 1 Cells (A, 1) .Font.ColorIndex = 44 Else Cells (A, 1) .Font.ColorIndex = 55 End If Next A Cells (2, 4) .Value = Count Cells (3, 4) .Value = 12 - Count End Sub 

Schritt 10: Führen Sie nun den Code durch Drücken der Taste aus.

Wir werden sehen, dass die Zellen mit den Zahlen unter 10 blau hervorgehoben sind. Und derjenige, der größer als 10 ist, wird in Gelb hervorgehoben.

VBA-Zähler - Beispiel 2

In diesem Beispiel verwenden wir den VBA-Zähler, um die Zeit zu messen, bis zu der wir die von uns durchgeführte Aufnahme messen können. Angenommen, wenn wir die Zeit messen müssen, die erforderlich ist, um eine Aufgabe abzuschließen, dann ist der Prozess, den wir hier sehen werden, am besten zu implementieren.

Führen Sie dazu die folgenden Schritte aus:

Schritt 1: Erstellen Sie die 2 Registerkarten einer beliebigen Form aus dem Menü Einfügen Formen-Optionen, wie unten gezeigt. Wir wählen Rectangle: Rounder Corners .

Schritt 2: Erstellen Sie 2 Schaltflächen und benennen Sie diese als Start und Reset, mit denen wir den Timer starten und die Zeit löschen.

Schritt 3: Gehen Sie jetzt zu VBA und öffnen Sie ein Modul aus dem Menü Einfügen.

Schritt 4: Schreiben Sie die Unterkategorie des Start-Timers wie unten gezeigt.

Code:

 Sub Start () End Sub 

Schritt 5: Betrachten Sie ein Wort für die nächste Zeile wie NextRow, in dem Sie das Arbeitsblatt auswählen, in dem Sie den Code implementieren möchten. Hier ist unser Blatt Sheet2 . Und hier zählen wir die Zeilen von +1 Zelle, die Zelle A2 ist, bis wir den Wert in der Cursordatei haben.

Code:

 Sub Start () NextRow = ThisWorkbook.Sheets ("Sheet2"). Cells (Rows.Count, 1) .End (xlUp) .Row + 1 End Sub 

Schritt 6: Um in die nächste Zeile zu gelangen, verwenden wir das Vertex-Format, wobei 1 in der Klammer für die Y-Achse steht.

Code:

 Sub Start () NextRow = ThisWorkbook.Sheets ("Sheet2"). Cells (Rows.Count, 1) .End (xlUp) .Row + 1 Cells (NextRow, 1) = Time End Sub 

Schritt 7: Schreiben Sie den Code zum Zurücksetzen unter denselben Startcode.

Code:

 Sub Reset () End Sub 

Schritt 8: Jetzt zum Zurücksetzen behalten wir den gleichen Code wie Start bei, aber das Schlüsselwort wird in LastRow geändert und wir entfernen +1, nur damit wir nicht in eine andere Zeile gelangen müssen.

Code:

 Sub Reset () lastrow = ThisWorkbook.Sheets ("Sheet2"). Cells (Rows.Count, 1) .End (xlUp) .Row End Sub 

Schritt 9: Um nun die Daten in der letzten Zelle von Spalte A in die erste Zelle zu löschen, wählen Sie zunächst den Zellenbereich mit der Funktion Inhalt löschen aus .

Code:

 Sub Reset () lastrow = ThisWorkbook.Sheets ("Sheet2"). Cells (Rows.Count, 1) .End (xlUp) .Row Range ("A2: A" & lastrow) .ClearContents End Sub 

Schließen Sie nun das VBA-Fenster.

Schritt 10: Klicken Sie mit der rechten Maustaste auf die Registerkarte Start und wählen Sie die Option Makro zuweisen.

Schritt 11: Wählen Sie die Start-Unterkodierung, die wir oben durchgeführt haben.

Schritt 12: Gleiches gilt auch für die Reset-Taste. Weisen Sie der Schaltfläche Zurücksetzen den Untercode Zurücksetzen zu, klicken Sie auf OK und beenden Sie den Entwurfsmodus, um den Code auszuführen.

Schritt 13: Klicken Sie nun zuerst auf die Schaltfläche Start . Wir werden die Startzeit als 3:51:33 bekommen.

Schritt 14: Klicken Sie nun erneut 2-3 Mal auf die Schaltfläche Start, um mehrere Zeitraffer zu erhalten. Wir werden sehen, dass es in jeder Iteration eine Lücke von einigen Sekunden gibt.

Schritt 15: Jetzt testen wir die Reset- Taste. Klicken Sie auf Zurücksetzen. Wir werden sehen, die Daten sind jetzt gelöscht und bereit für weitere Runden.

Vorteile von Excel VBA Counter

  • Wie wir in Beispiel 2 gesehen haben, ist es sehr einfach, den Zeitrundenzähler zu implementieren.
  • VBA Counter hat viele Implementierungstypen, dies ist nicht nur auf die Beispiele beschränkt, die wir gesehen haben.

Dinge, an die man sich erinnern sollte

  • Es ist immer besser, den Code für eine Schaltfläche zuzuweisen, wenn zwei oder mehr Codetypen in einem Vorgang ausgeführt wurden.
  • Beenden Sie den Entwurfsmodus, sobald die Codezuweisung und -ausführung auf der Registerkarte "Entwickler" abgeschlossen ist.
  • Wir können auch einen Live-Zeitzähler erstellen, in dem wir den Countdown der Zeit sehen oder die Zeit in Echtzeit sehen können.
  • Speichern Sie das Makro im Macro enable excel-Dateiformat, damit wir unseren Code nicht verlieren.

Empfohlene Artikel

Dies ist eine Anleitung zum VBA-Zähler. Hier diskutieren wir, wie man einen VBA-Zähler in Excel mit VBA-Code erstellt, zusammen mit praktischen Beispielen und einer herunterladbaren Excel-Vorlage. Sie können auch den folgenden Artikel lesen, um mehr zu erfahren -

  1. Verwendung von VBA OverFlow Error in Excel
  2. Beispiele für VBA 1004-Fehler
  3. Wie verwende ich VBA DoEvents?
  4. Methoden zum Ausblenden von Spalten in VBA

Kategorie: