Vba: jak liczyć komórki zawierające określony tekst
Możesz użyć następującej podstawowej składni, aby policzyć liczbę komórek w zakresie zawierającym określony tekst za pomocą VBA:
SubCountCellsWithText ()
Range(" D2 ") = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
End Sub
W tym konkretnym przykładzie zlicza się liczbę komórek w zakresie A2:A13 zawierających „avs”, a następnie przypisuje wynik do komórki D2 .
Uwaga : Gwiazdki ( * ) są używane jako symbole wieloznaczne w funkcji Countif .
Jeśli zamiast tego chcesz wyświetlić liczbę komórek w oknie komunikatu, możesz użyć następującej składni:
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
Poniższe przykłady pokazują, jak w praktyce zastosować każdą z tych metod, mając do dyspozycji następujący zbiór danych w Excelu, który zawiera informacje o różnych koszykarzach:
Przykład 1: Policz komórki zawierające określony tekst za pomocą VBA i wyświetl wyniki w komórce
Załóżmy, że chcemy policzyć komórki zawierające „avs” w nazwie zespołu i wyświetlić wyniki w określonej komórce.
W tym celu możemy utworzyć następujące makro:
SubCountCellsWithText ()
Range(" D2 ") = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Zauważ, że komórka D2 zawiera wartość 5 .
To mówi nam, że w zakresie A2:A13 znajduje się 5 komórek zawierających „avs” w nazwie zespołu.
Przykład 2: Zlicz komórki zawierające określony tekst za pomocą VBA i wyświetl wyniki w oknie komunikatu
Załóżmy zamiast tego, że chcemy policzyć liczbę komórek zawierających „avs” i wyświetlić wyniki w oknie komunikatu.
W tym celu możemy utworzyć następujące makro:
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
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Okno komunikatu informuje nas, że istnieje 5 komórek zawierających „avs” w nazwie zespołu.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: prosta formuła na „Jeśli komórka zawiera”
VBA: Jak liczyć wystąpienia znaków w ciągu
VBA: jak sprawdzić, czy ciąg zawiera inny ciąg