2015-07-09 78 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 
相关问题