Vba: so zählen sie zellen mit bestimmtem text
Sie können die folgende grundlegende Syntax verwenden, um mithilfe von VBA die Anzahl der Zellen in einem Bereich zu zählen, der bestimmten Text enthält:
SubCountCellsWithText ()
Range(" D2 ") = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
End Sub
In diesem speziellen Beispiel wird die Anzahl der Zellen im Bereich A2:A13 gezählt, die „avs“ enthalten, und das Ergebnis wird dann der Zelle D2 zugewiesen.
Hinweis : Sternchen ( * ) werden in der Countif- Funktion als Platzhalter verwendet.
Wenn Sie stattdessen die Anzahl der Zellen in einem Meldungsfeld anzeigen möchten, können Sie die folgende Syntax verwenden:
SubCountCellsWithText ()
Dim cellCount As Integer
'Calculate number of cells that contain 'avs'
cellCount = WorksheetFunction.CountIf(Range(" A2:A13 "), "* avs* ")
'Display the result
MsgBox "Cells that contain avs : " & cellCount
End Sub
Die folgenden Beispiele zeigen, wie jede dieser Methoden in der Praxis mit dem folgenden Datensatz in Excel verwendet wird, der Informationen über verschiedene Basketballspieler enthält:
Beispiel 1: Zählen Sie Zellen mit bestimmtem Text mithilfe von VBA und zeigen Sie die Ergebnisse in der Zelle an
Angenommen, wir möchten die Anzahl der Zellen zählen, die „avs“ im Teamnamen enthalten, und die Ergebnisse in einer bestimmten Zelle anzeigen.
Dazu können wir das folgende Makro erstellen:
SubCountCellsWithText ()
Range(" D2 ") = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Beachten Sie, dass Zelle D2 den Wert 5 enthält.
Dies sagt uns, dass es 5 Zellen im Bereich A2:A13 gibt, die „avs“ im Teamnamen enthalten.
Beispiel 2: Zählen Sie Zellen mit bestimmtem Text mithilfe von VBA und zeigen Sie die Ergebnisse im Meldungsfeld an
Angenommen, wir möchten stattdessen die Anzahl der Zellen zählen, die „avs“ enthalten, und die Ergebnisse in einem Meldungsfeld anzeigen.
Dazu können wir das folgende Makro erstellen:
SubCountCellsWithText ()
Dim cellCount As Integer
'Calculate number of cells that contain 'avs'
cellCount = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
'Display the result
MsgBox "Cells that contain avs : " & cellCount
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Das Meldungsfeld teilt uns mit, dass es 5 Zellen gibt, deren Teamname „avs“ enthält.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in VBA ausführen:
VBA: eine einfache Formel für „Wenn Zelle enthält“
VBA: So zählen Sie das Vorkommen von Zeichen in einer Zeichenfolge
VBA: So überprüfen Sie, ob eine Zeichenfolge eine andere Zeichenfolge enthält