VBA:计算string中最频繁字符的出现次数

标题说这一切…我想find一个string中发生最多的字符,然后计算其出现次数。

例如:IN:“aabbbbcccd”OUT:最多发生:“b”,4次。

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

我试图寻找一些algorithm,我发现了一些方法,如: findstringC#中的字符最多的出现? 但我不知道如何移植到VBA,恐怕我不能:(

谢谢 !

不知道为什么你得到一个投票,但这里有一个方法来获得string中最频繁字符的计数。

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 

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

用A1中的string在另一个单元格中使用这个“数组公式”来获得该string中最频繁字符的计数

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

CTRL + SHIFT + ENTER确认