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

String VBA:计算字符串中最常用字符的出现次数,string,excel,vba,String,Excel,Vba,标题说明一切。。。我想找到字符串中出现次数最多的字符,然后计算其出现次数 例如: 在: “AABBCCCD” 输出: 大多数发生在“b”,4次 我甚至不需要知道哪个字符是,只需要知道重复的次数。 我只想使用Excel VBA执行此操作 我试图寻找一些算法,我发现一些方法如下: 但我不知道如何移植到VBA,恐怕我不能:( 谢谢!我不知道你为什么会投反对票,但这里有一种方法可以获得字符串中最频繁字符的计数 Sub chCount() Dim str As String: str = "abl

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

例如: 在: “AABBCCCD” 输出: 大多数发生在“b”,4次

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

我试图寻找一些算法,我发现一些方法如下: 但我不知道如何移植到VBA,恐怕我不能:(


谢谢!

我不知道你为什么会投反对票,但这里有一种方法可以获得字符串中最频繁字符的计数

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
Sub-chCount()
作为字符串的Dim str:str=“ABLDFEOSLGSASASSASASASAE”
变暗尺
昏暗的柜台一样长
暗淡如长
Dim maxCount尽可能长
lCount=Len(str)
对于ch=1,要计算
标尺=拆分(str,中间(str,ch,1))
计数器=UBound(标尺)
如果maxCount<计数器,则
最大计数=计数器
如果结束
下一个ch
msgbox(最大计数)
端接头

我知道您想要VBA,但我无法拒绝为任何可能感兴趣或希望转换为VBA的人提供
公式
解决方案

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

=LEN(A1)-MIN(LEN(替换为(A1,MID(A1,ROW)(间接)(&LEN(A1))),1),))


确认使用CTRL+SHIFT+ENTER

Upvote,非常聪明。很好!谢谢你的好话!标尺的概念非常聪明,我一直在努力寻找答案,但我认为你的代码只是最简洁的解决方案。我不知道为什么我会被否决,但是,相信我,我正在研究这个算法,大约2个小时没有简单的解决方案,直到你启发了我…+1像往常一样大量使用公式,巴里!