2013-11-23 578 views
2

標題說明了所有......我想查找字符串中發生最多的字符串,然後計算其出現次數。VBA:計算字符串中最頻繁字符的出現次數

實施例: IN: 「aabbbbcccd」 OUT: 絕大多數發生: 「B」,4倍。

我甚至不需要知道哪個字符,只是重複的次數。 我想僅使用Excel VBA進行此操作。

我試圖尋找一些算法,我發現像一些方法:Find the most occurrence of a character in string C#? ,但我不知道如何移植到VBA,恐怕我不能:(

感謝

回答

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

Upvote純粹的聰明。太好了! –

+0

謝謝你的客氣話! –

+0

統治者的概念非常聰明,我一直在努力尋找答案,但我認爲你的代碼是最簡單的解決方案。我不知道爲什麼我會陷入低谷,但是,相信我,我正在使用像2小時這樣的算法,但沒有簡單的解決方案,直到你把我推倒在地...... –

3

我知道你想VBA,但我無法抗拒formula解決方案對於任何可能的人有興趣或可能想轉換爲VBA。

隨着A1字符串中使用這種「數組公式」,在另一個單元以獲得最常見的字符數在字符串

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

CTRL + SHIFT + ENTER確認

+0

+1大量使用公式像往常一樣Barry! –

相關問題