2013-11-21 75 views
1

到目前爲止,我可以在輸入框中輸入一個單詞,並讓它返回特定單詞在特定列中出現的次數。 。我希望它做的是選擇,在出現輸入字的每個小區或者,突出發生的話每個單元下面是我已經:如何選擇列中的多個單元格

Sub wordcounter() 
Dim word As String 
Dim count As Integer 
word = InputBox(Prompt:="Enter word to search: ", Title:="Enter Word", Default:="Search  word") 
For Each cell In ActiveSheet.UsedRange.Columns("G").Cells 
    cell.Value = LCase(cell.Value) 
    If InStr(cell.Value, word) Then 
     cell.select 
    End If 
    If InStr(cell.Value, word) Then 
     count = count + 1 
    End If 
Next cell 
    MsgBox (word & " = " & count) 
End Sub 

此代碼只選擇最後一個單元格這個詞出現的地方。關於如何用單詞而不是最後一個單元格選擇所有單元格的任何想法?

+0

您也可以使用條件格式來實現突出顯示部分。 – nutsch

回答

1

這裏是我會怎麼做,避免了循環乾脆加速和簡化:

Sub sWordcounter() 
Dim sWord As String 
Dim count As Integer 
sWord = InputBox(Prompt:="Enter Word to search: ", Title:="Enter Word", Default:="Search Word") 

With ActiveSheet.UsedRange.Columns("G").Cells 
    .AutoFilter 
    .AutoFilter field:=1, Criteria1:="*" & sWord & "*" 
    .Offset(1).Resize(.Rows.count - 1).SpecialCells(xlCellTypeVisible).Select 
    .AutoFilter 
End With 

End Sub 

可以調整。選擇部分你想要做的任何細胞。

+0

+ 1該死!在我發佈我的答案後,我在OP的帖子中看到了關於條件格式的評論:)不得不刪除我的答案:(下次會仔細閱讀評論:P –

0

不是cell.select你可以通過使其使用不同的顏色突出顯示:

cell.InteriorColor.Color = RGB(#, #, #) 

我不知道你正在使用此信息瞭解,希望這有助於。

相關問題