Licznik w Excel VBA

Istnieją różne sposoby liczenia w MS Excel. Możemy używać wbudowanych funkcji, takich jak Count, CountIf, CountA, CountBlank, które są dostępne w programie Excel. Ale te funkcje nie będą działać poprawnie w VBA i mają również ograniczenia. Aby temu zaradzić, mamy wiele funkcji i poleceń oraz proces, za pomocą którego możemy wykonać Licznik VBA. Licznik VBA służy do zliczania komórki, zliczania zawartości komórki, a także służy do liczenia czasu, gdy możemy zaimplementować grafik do pomiaru dowolnego zadania.

Za pomocą VBA Counter możemy również policzyć komórki według ich wskaźników kolorów. Ten indeks kolorów może również oznaczać kolor czcionki lub kolor tła komórki oraz pogrubione wartości.

Jak utworzyć licznik w programie Excel VBA?

Poniżej znajdują się różne przykłady tworzenia licznika w programie Excel przy użyciu kodu VBA.

Możesz pobrać ten szablon Excel Counter VBA tutaj - Szablon Excel Counter VBA

Licznik VBA - Przykład nr 1

Mamy kilka danych liczb losowych w kolumnie A. Wszystkie wymienione wartości są losowe i nie mają związku, na przykład w sekwencji lub szeregu. Teraz za pomocą procesu licznika VBA policzymy najwyższe i najniższe liczby wartości i uzyskamy wynik w komórkach D2 i D3.

Policzymy liczbę i jednocześnie pokolorujemy ją zgodnie z kolorem tekstu w komórkach C2 i C3.

W tym celu wykonaj następujące kroki:

Krok 1: Utwórz przycisk Polecenia, który jest dostępny na karcie Deweloper w aktywnej kontrolce X menu Wstaw, jak pokazano poniżej.

Krok 2: Teraz utwórz przycisk, jak pokazano poniżej.

Krok 3: Kliknij prawym przyciskiem myszy utworzony przycisk i przejdź do opcji Właściwości .

Krok 4: Zmień podpis przycisku, który domyślnie ma CommandButton2 na dowolną żądaną nazwę. Tutaj zmieniliśmy to na „ Liczenie komórek według wartości ”.

Krok 5: Po zakończeniu kliknij prawym przyciskiem myszy utworzony przycisk i wybierz opcję Wyświetl kod, aby wyświetlić okno VBA.

Edytor Visual Basic jest teraz otwarty i domyślnie dla przycisku polecenia jest już utworzony podprogram.

Kod:

 Private Sub CommandButton2_Click () End Sub 

Krok 6: Teraz musimy zadeklarować 3 zmienne. Zadeklaruj pierwszą zmienną, w której będziemy przechowywać liczby, i drugą zmienną, za pomocą której będziemy używać licznika jako liczb całkowitych, jak pokazano poniżej. A trzecia zmienna będzie tak długa, aby zliczyć liczby zapisane w każdym rzędzie.

Kod:

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

Krok 7: Teraz wybierzemy pierwszą komórkę arkusza, która jest A1 jako naszym zakresem. Odtąd będziemy wybierać komórki, aż będą mieć liczby.

Kod:

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

Krok 8: Teraz otworzymy i zapiszemy warunek w pętli For dla, jeśli komórka ma wartość większą niż 10, wówczas kolor czcionki komórki zostanie zmieniony na Żółty, a dla wartości mniejszej niż 10 kolor czcionki komórki zostanie zmieniony na Niebieski z indeksami kolorów odpowiednio 44 i 55 .

Kod:

 Private Sub CommandButton2_Click () Dim A As Integer Dim Count As Integer Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 To LRow If Cells (A, 1) .Value> 10 Następnie policz = Policz + 1 komórki (A, 1) .ont.ColorIndex = 44 inne komórki (A, 1) .ont.ColorIndex = 55 End If Next A End Sub 

Krok 9: Teraz, aby zobaczyć wynik wartości z komórki A1 do końca, wybierzemy komórki, jak omówiono powyżej w poniższym kodzie.

Kod:

 Private Sub CommandButton2_Click () Dim A As Integer Dim Count As Integer Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 To LRow If Cells (A, 1) .Value> 10 Następnie liczyć = Policz + 1 komórki (A, 1) .Cont.ColorIndex = 44 Else Cells (A, 1) .ont.ColorIndex = 55 End If Next A Cells (2, 4) .Vue = Count Counts (3, 4). Wartość = 12 - Sub End Count 

Krok 10: Teraz uruchom kod, naciskając przycisk.

Zobaczymy, komórki zawierające liczby mniejsze niż 10 są podświetlone na niebiesko. A ten większy niż 10 jest podświetlony na żółto.

Licznik VBA - Przykład 2

W tym przykładzie użyjemy licznika VBA, aby zmierzyć czas, w którym możemy zmierzyć nasze wykonanie. Załóżmy, że jeśli musimy zmierzyć czas wymagany do wykonania dowolnego zadania, proces, który zobaczymy tutaj, najlepiej wdrożyć.

W tym celu wykonaj następujące kroki:

Krok 1: Utwórz 2 zakładki o dowolnym kształcie z menu Wstaw opcje Kształty, jak pokazano poniżej. Wybieramy Rectangle: Rounder Corners .

Krok 2: Utwórz 2 przyciski i nazwij je Start i Reset, za pomocą którego uruchomimy stoper i wyczyścimy czas.

Krok 3: Teraz przejdź do VBA i otwórz moduł z menu Wstaw.

Krok 4: Wpisz w tym podkategorię Start timera, jak pokazano poniżej.

Kod:

 Sub Start () End Sub 

Krok 5: Zastanów się nad słowem dla następnego wiersza, takim jak NextRow, w którym wybierzemy arkusz, w którym chcemy zaimplementować kod. Tutaj nasz arkusz to Arkusz2 . I tutaj policzymy Wiersze z komórki +1, która jest komórką A2, aż do momentu, gdy kursor zapisze wartość.

Kod:

 Sub Start () NextRow = ThisWorkbook.Sheets („Sheet2”). Komórki (Rows.Count, 1). End (xlUp) .Row + 1 End Sub 

Krok 6: Teraz, aby przejść do następnego rzędu, użyjemy formatu wierzchołków, gdzie 1 w nawiasie jest dla osi Y.

Kod:

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

Krok 7: Napisz kod Resetuj poniżej tego samego kodu Start.

Kod:

 Sub Reset () End Sub 

Krok 8: Teraz do zresetowania zachowamy ten sam kod co Start, ale słowo kluczowe zostanie zmienione na LastRow i usuwamy +1, abyśmy nie musieli wchodzić do innego wiersza.

Kod:

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

Krok 9: Teraz, aby wyczyścić dane z ostatniej komórki kolumny A do pierwszej komórki, najpierw wybierz zakres komórek z funkcją ClearContents .

Kod:

 Sub Reset () lastrow = ThisWorkbook.Sheets („Sheet2”). Komórki (Rows.Count, 1). End (xlUp) .Row Range („A2: A” i lastrow) .ClearContents End Sub 

Teraz zamknij okno VBA.

Krok 10: Kliknij prawym przyciskiem myszy kartę Start i wybierz opcję Przypisz makro .

Krok 11: Wybierz Rozpocznij kodowanie, które zrobiliśmy powyżej.

Krok 12: To samo dotyczy przycisku Reset. Przypisz subkod Reset do przycisku Resetuj i kliknij OK i wyjdź z trybu projektowania, aby wykonać kod.

Krok 13: Teraz najpierw kliknij przycisk Start . Czas rozpoczęcia otrzymamy jako 3:51:33.

Krok 14: Teraz jeszcze raz kliknij przycisk Start 2-3 razy, aby uzyskać wielokrotny upływ czasu. Zobaczymy, w każdej iteracji jest kilka sekund przerwy.

Krok 15: Teraz przetestujemy przycisk Reset . Kliknij Resetuj. Zobaczymy, dane są teraz wyczyszczone i gotowe na kolejne okrążenia liczenia czasu.

Plusy licznika Excel VBA

  • Bardzo łatwo zaimplementować licznik okrążeń czasowych, jak widzieliśmy w przykładzie 2.
  • Licznik VBA ma wiele typów implementacji, nie ogranicza się to tylko do przykładów, które widzieliśmy.

Rzeczy do zapamiętania

  • Zawsze lepiej jest przypisać kod do dowolnego przycisku, jeśli wykonaliśmy 2 lub więcej rodzajów kodu w jednym procesie.
  • Wyjdź z trybu projektowania po przypisaniu i wykonaniu kodu z karty Deweloper.
  • Możemy również stworzyć licznik czasu na żywo, w którym możemy zobaczyć odliczanie czasu lub oglądać czas w czasie rzeczywistym.
  • Zapisz makro w Makrze, włącz format pliku Excel, abyśmy nie stracili naszego kodu.

Polecane artykuły

To jest przewodnik po VBA Counter. Tutaj omawiamy sposób tworzenia licznika VBA w programie Excel za pomocą kodu VBA wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także spojrzeć na następujący artykuł, aby dowiedzieć się więcej -

  1. Użycie błędu przepełnienia VBA w programie Excel
  2. Przykłady błędu VBA 1004
  3. Jak korzystać z VBA DoEvents?
  4. Metody ukrywania kolumn w VBA

Kategoria: