2015-07-09 77 views
0

我有一列(H),需要搜索它是否包含4個單詞中的1個。如果它不包含這四個單詞中的一個,我需要將該行隱藏或刪除。實現這個目標的最佳途徑是什麼?有關如何刪除不包含文本的行的VBA

+0

我忘了提及,有在H列換句話說沿我感興趣的四個詞。所以代碼需要能夠搜索包含其中一個的行4 –

回答

1

嘗試將以下內容添加到模塊並運行。我假設H列有一個頭這樣的範圍開始於第2行。

Public Sub Test() 
Dim rng As Range 
Dim row As Range 
Dim cell As Range 

Set rng = Range("H2:H7") 

For Each row In rng.Rows 
For Each cell In row.Cells 

Select Case cell.Value 
Case "Red", "Blue", "Green", "White" 
'Do nothing 
Case Else 
row.Hidden = True 
End Select 

Next cell 
Next row 
End Sub 
+0

使用這個答案,就好像你刪除了一行,它會填充每個行,你將不得不做一個解決方法像清除內容然後排序,將空白移動到底部.. – AndrewT

+0

好的,這段代碼不起作用,當我運行它時,它會刪除或隱藏所有內容。我忘了提及這些欄中還有其他的詞以及這4個詞。 –

0

或者,如果你願意刪除:

lastRow = Range("H65000").End(xlUp).Row 
For i = lastRow To 2 Step -1 
Select Case Cells(i, 8).Value 
    Case "Red", "Blue", "Green", "White" 
     'Do nothing 
    Case Else 
     Cells(i, 8).EntireRow.Delete 
End Select 
Next i 
相關問題