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 函数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注