Vba: как подсчитать вхождение символов в строку
Вы можете использовать следующий базовый синтаксис для подсчета количества вхождений символа в строку с помощью VBA:
Sub CountOccurrences()
Dim i As Integer
'Specify character to look for
my_char = "/"
'Count occurrences in each string in B2:B12 and display results in C2:C12
For i = 2 To 12
Count = (Len(Range(" B " & i)) - Len(Replace(Range(" B " & i), my_char, ""))) / Len(my_char)
Range(" C " & i) = Count
Next i
End Sub
В этом конкретном примере подсчитывается количество вхождений косой черты ( / ) в каждой ячейке в диапазоне B2:B12 и отображаются результаты в диапазоне C2:C12 .
В следующем примере показано, как использовать этот синтаксис на практике.
Пример. Подсчет вхождений символов в строку с помощью VBA
Допустим, у нас есть следующий набор данных в Excel, в котором показаны имена разных баскетболистов и позиции, которые они могут играть в игре:
Предположим, мы хотим подсчитать количество косых черт ( / ) в каждой строке в столбце «Позиция».
Для этого мы можем создать следующий макрос:
Sub CountOccurrences()
Dim i As Integer
'Specify character to look for
my_char = "/"
'Count occurrences in each string in B2:B12 and display results in C2:C12
For i = 2 To 12
Count = (Len(Range(" B " & i)) - Len(Replace(Range(" B " & i), my_char, ""))) / Len(my_char)
Range(" C " & i) = Count
Next i
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Значения в столбце C отображают количество вхождений косой черты в соответствующие строки в столбце B.
Например:
- Строка Guard/Forward содержит 1 косую черту.
- Строка Guard содержит 0 косых черт.
- Строка Guard содержит 0 косых черт.
- Строка «Вперед/Центр» содержит 1 косую черту.
И так далее.
Чтобы подсчитать появление другого символа, просто измените символ переменной my_char в макросе.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: как проверить, содержит ли строка другую строку
VBA: как подсчитать количество строк в диапазоне
VBA: как писать функции COUNTIF и COUNTIFS