我有一列約50個單元格。每個單元格包含一個文本塊,可以包含3-8個句子。範圍內的單元格內的單詞頻率
我喜歡填寫正在使用的單詞列表並獲取整個範圍(A1:A50)的頻率。
我試圖操縱我在其他帖子中發現的其他代碼,但它們似乎是針對包含一個單詞而非多個單詞的單元格進行量身定製的。
這是我發現我試圖使用的代碼。
Sub Ftable()
Dim BigString As String, I As Long, J As Long, K As Long
Dim Selection As Range
Set Selection = ThisWorkbook.Sheets("Sheet1").Columns("A")
BigString = ""
For Each r In Selection
BigString = BigString & " " & r.Value
Next r
BigString = Trim(BigString)
ary = Split(BigString, " ")
Dim cl As Collection
Set cl = New Collection
For Each a In ary
On Error Resume Next
cl.Add a, CStr(a)
Next a
For I = 1 To cl.Count
v = cl(I)
ThisWorkbook.Sheets("Sheet2").Cells(I, "B").Value = v
J = 0
For Each a In ary
If a = v Then J = J + 1
Next a
ThisWorkbook.Sheets("Sheet2").Cells(I, "C") = J
Next I
End Sub
當您嘗試此代碼時,究竟發生了什麼?在我看來,這在理論上可以適用於你的情況,但是你的BigString可能會越來越大,VBA無法正確處理(它確實不喜歡長字符串)。如果是這種情況,你可能需要重新編寫代碼(至少你必須遍歷選定的單元格,而不是一次性處理它們)。 – Mikegrann