VBA:计算字符串中最常见字符的出现次数

时间:2013-11-23 16:29:53

标签: string excel vba

标题说明了一切......我想在字符串中找到最常出现的字符,然后计算其出现次数。

实施例: 在: " aabbbbcccd" OUT: 大多数发生在:" b",4次。

我甚至不需要知道哪个字符,只是重复的次数。 我想只使用Excel VBA。

我试图寻找一些算法,我找到了一些方法,如:Find the most occurrence of a character in string C#? 但是我不知道如何移植到VBA,我担心我不能:(

谢谢!

2 个答案:

答案 0 :(得分:3)

不确定为什么你会投票,但这是一种获取字符串中最常用字符数的方法。

Sub chCount()
    Dim str As String: str = "abldfeoslgsasasessasae"

    Dim Ruler As Variant
    Dim Counter As Long
    Dim lCount As Long
    Dim maxCount As Long

    lCount = Len(str)

    For ch = 1 To lCount
      Ruler = Split(str, Mid(str, ch, 1))
      Counter = UBound(Ruler)
      If maxCount < Counter Then
        maxCount = Counter
      End If
    Next ch

    msgbox(maxCount)

End Sub

答案 1 :(得分:3)

我知道你想要VBA,但我无法抗拒任何可能感兴趣或可能想转换为VBA的人的formula解决方案。

使用A1中的字符串在另一个单元格中使用此“数组公式”来获取该字符串中最常用字符的计数

=LEN(A1)-MIN(LEN(SUBSTITUTE(A1,MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"")))

使用 CTRL + SHIFT + ENTER确认