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 中有以下数据集,其中显示了不同篮球运动员的姓名以及他们在比赛中可以打的位置:
假设我们要计算 Position 列中每个字符串中正斜杠 ( / ) 的数量。
我们可以创建以下宏来执行此操作:
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 函数