Я пытаюсь создать облако слов в Таблице, но мне нужно сначала подготовить данные в Excel.Я уже удалил все символы, которые не были буквенно-цифровыми.Но теперь я хочу удалить слова, как нет, это или есть.
Честно говоря, я просто хочу удалить все слова, содержащие не более 3 символов.Я попробовал следующие две части кода, используя VBA.
Sub removeSmallWords()
ScreenUpdating = False
Dim rng As Range
Set rng = Range("A1:A10")
Dim oReg As Object
Set oReg = CreateObject("vbscript.regexp")
For Each cell In rng
With oReg
.Pattern = "(\s|^)(\w{1,2})(\s|$)"
.Global = True
cell.Value = .Replace(cell.Value, " ")
End With
cell.Value = Trim(cell.Value)
Next cell
Set oReg = Nothing
ScreenUpdating = True
End Sub
Но это создало ошибку, в которой говорится, что Active X не может создать компонент.
Второе, что я попробовал, было следующее:
Sub removeSmallWords()
ScreenUpdating = False
Dim rng As Range
Set rng = Range("A1:A10")
Dim stringArray() As String
Dim newString As String
For Each cell In rng
newString = ""
stringArray = Split(cell.Text)
For i = 0 To UBound(stringArray)
If Len(stringArray(i)) > 3 Then
newString = newString & " " & stringArray(i)
End If
Next i
cell.Value = Trim(newString)
Next cell
ScreenUpdating = True
End Sub
Это просто ничего не делает.Я выбираю ячейку только с простым текстом.Я иду к «Run Macro», выбираю его и нажимаю «Run».Ничего не происходит.
Что я делаю не так?
Спасибо!