Indholdsfortegnelse
I dag vil jeg vise dig, hvordan du kan tælle rækker med VBA Jeg viser dig, hvordan du kan tælle rækker fra et bestemt område, fra et udvalgt område, ved at matche et bestemt kriterium, ved at matche en bestemt tekstværdi og ved at udelukke de tomme celler.
Download arbejdsbog til øvelser
Tælle rækker med VBA.xlsm5 metoder til at tælle rækker med VBA i Excel
Her har vi et datasæt med navnene på nogle elever og deres karakterer på engelsk på en skole, der hedder Sunflower Kindergarten.
I dag er vores mål at tælle det samlede antal rækker ved hjælp af en VBA-kode .
1. Brug VBA-kode til at tælle rækker i et bestemt område
⧪ Trin 1:
➤ Tryk på ALT+F11 på dit tastatur. VBA-vindue vil åbne.
⧪ Trin 2:
➤ Gå til Indsæt i fanen i VBA vindue.
➤ Vælg følgende indstillinger blandt de tilgængelige Modul .
I
⧪ Trin 3:
➤ Et nyt modulvindue kaldet "Modul 1" vil åbne.
➤ Indsæt følgende VBA kode i modulet.
Kode:
Sub Count_Rows() Dim rng As Range Set rng = Range("B4:C13") MsgBox rng.Rows.Count End Sub
Bemærkninger:
- Denne kode giver en Makro kaldet Count_Rows .
- 3. linje i koden indeholder det angivne område " B4:C13″. Jeg vil tælle antallet af rækker i dette område.
- Du bruger dit eget.
⧪ Trin 4:
➤ Gem arbejdsbogen som Excel-arbejdsmappe med makroaktivering .
⧪ Trin 5:
➤ Vend tilbage til dit regneark, og tryk på ALT+F8 på dit tastatur.
➤ En dialogboks kaldet Makro åbnes. Vælg Count_Rows ( Navnet på den Makro) og klik på Kør .
⧪ Trin 6:
➤ Du vil se en lille beskedboks, der viser antallet af samlede rækker ( 10 i dette tilfælde).
➤ Klik på OK for at afslutte.
Læs mere: Excel VBA til at tælle rækker med data
2. Kør Excel VBA-kode til at tælle rækker i et udvalgt område
I den tidligere metode talte vi antallet af rækker i et bestemt område ( B4:C13 ).
Men vi kan også bruge en VBA kode til at tælle antallet af rækker i et hvilket som helst udvalgt område efter vores ønske.
Alle trin er de samme som Metode 1 ( Trin 1-6 ).
⧪ Netop i Trin 3 , i stedet for den foregående kode indsættes denne kode:
Kode:
Sub Count_Selected_Rows() Dim rng As Range Set rng = Selection MsgBox rng.Rows.Count End Sub
Bemærk:
- Denne kode opretter et modul kaldet Count_Selected_Rows .
⧪ Og i Trin 5 , skal du først vælge et område, før du kører koden. Her har jeg valgt hele mit datasæt (uden Kolonneoverskrifter ).
⧪ Tryk derefter på ALT+F8 , vælg Count_Selected_Rows , og klik på Kør .
Du får en beskedboks, der viser det samlede antal rækker i det valgte område ( 10 i dette tilfælde.)
3. Indsæt VBA-kode til at tælle rækker med kriterier i Excel
Vi kan også bruge en VBA kode til at tælle det samlede antal rækker, der opfylder et bestemt kriterium.
Lad os f.eks. oprette en Makro der tæller antallet af elever, der har fået færre end 40 point.
Trinene er også alle de samme som Metode 1 ( Trin 1-6 ).
⧪ Netop i Trin 3 , ændre den VBA kode til dette:
Kode:
Sub Count_Rows_with_Criteria() Dim Count As Integer Count = 0 For i = 1 To Selection.Rows.Count If Selection.Cells(i, 1) <40 Then Count = Count + 1 End If Next i MsgBox Count End Sub
Bemærk:
- Denne kode opretter et modul kaldet Count_Rows_with_Criteria .
- På linje 6 , brugte vi "<40" fordi det er det kriterium, vi bruger. Du kan ændre det efter dit behov.
⧪ Og i Trin 5 , før du kører koden, skal du vælge det område af celler med kriterierne. Her har jeg kun valgt kolonne C ( C4:C13 ), fordi kriteriet ligger der.
⧪ Tryk derefter på ALT+F8 , vælg Count_Rows_with_Criteria , og klik på Kør .
Du får en beskedboks, der viser det samlede antal rækker, der opfylder dit kriterium ( 3 i dette tilfælde.)
Lignende læsninger
- Excel tæller synlige rækker (formel og VBA-kode)
- Sådan tæller Excel rækker med værdi (8 måder)
4. Indlejret VBA-kode til at tælle rækker med en bestemt tekstværdi
Du kan også bruge en VBA kode til at tælle antallet af rækker, der indeholder en bestemt tekstværdi.
Se på dette nye datasæt.
Vi har den Bogoptegnelser af nogle bøger fra en boghandel ved navn Martin Bookstore.
Lad os oprette en Makro der tæller antallet af bøger med en bestemt tekst fra dette datasæt.
Trinene er også alle de samme som Metode 1 ( Trin 1-6 ).
⧪ Netop i Trin 3 , ændre den VBA kode til dette:
Kode:
Sub Count_Rows_with_Specific_Text() Dim Count As Integer Count = 0 Dim Text As String Text = InputBox("Indtast tekstværdien: ") LText = LCase(Text) For i = 1 To Selection.Rows.Count Words = Split(Selection.Cells(i, 1))) For Each j In Words LWord = LCase(j) If LText = LWord Then Count = Count + 1 End If Next j Next i MsgBox Count End Sub
Bemærk:
- Denne kode opretter et modul kaldet Count_Rows_with_Specific_Text .
⧪ Og i Trin 5 , før du kører koden, skal du vælge det område af celler med tekstværdierne. Her har jeg valgt området B4:B13 ( Bøgernes navn ).
⧪ Tryk derefter på ALT+F8 , vælg Count_Rows_with_Specific_Text , og klik på Kør .
⧪ En Indtastningsboks vises og beder dig om at indtaste den specifikke tekstværdi, som du ønsker at matche.
I dette eksempel har jeg indtastet det som "historie" .
Til sidst får du en beskedboks, der viser det samlede antal rækker, der indeholder den specifikke tekst ( 3 i dette tilfælde.)
Læs mere: Sådan tæller du rækker med tekst i Excel
5. Tæl rækker med tomme celler ved hjælp af VBA i Excel
Endelig vil vi udvikle en makro, der tæller det samlede antal rækker eksklusive de tomme celler fra et datasæt.
Se på dette nye datasæt.
Vi har den Marks af nogle kandidater i en ansættelsestest i en virksomhed, der hedder APEX group.
Men desværre kunne nogle kandidater ikke deltage i prøven, og der er derfor tomme felter i stedet for deres karakterer.
Lad os udvikle en makro, der tæller det samlede antal rækker eksklusive de tomme celler.
Det vil sige, hvor mange ansøgere der deltog i prøven.
Alle trin er de samme som Metode 1 ( Trin 1-6 ).
⧪ Netop i Trin 3 , indtast dette VBA kode i stedet for den tidligere kode:
Kode:
Sub Count_Rows_with_Blank_Cells() Dim Count As Integer Count = 0 For i = 1 To Selection.Rows.Count If Selection.Cells(i, 1) "" Then Count = Count + 1 End If Next i MsgBox Count End Sub
Bemærk:
- Denne kode opretter et modul kaldet Count_Rows_with_Blank_Cells .
⧪ I Trin 5 , før du kører koden, skal du vælge det område af celler med de tomme celler. Her har jeg valgt området C4:C13 ( Mærker i Tes t).
⧪ Tryk derefter på ALT+F8 , vælg Count_Rows_with_Blank_Cells , og klik på Kør .
Du får en beskedboks, der viser det samlede antal rækker eksklusive de tomme celler ( 7 i dette tilfælde.)
Konklusion
Ved hjælp af disse metoder kan du tælle rækker med VBA fra et datasæt i Excel, der opfylder forskellige betingelser. Har du problemer, er du velkommen til at spørge os.