Excel VBA宏查找和删除只有一些所需的单元格
问题描述:
我想创建一个非常简单的VBA宏的Excel查找范围在9列和可变数量的行,并找到单元格包含特定的单词,然后删除他们的内容。 我有目前这样的代码:Excel VBA宏查找和删除只有一些所需的单元格
Sub FindAllAndDelete()
'
'
Dim SearchRange As Range
Range("B58:J58").Select
Range(Selection, Selection.End(xlDown)).Select
Set SearchRange = Range(Selection, Selection.End(xlDown))
Do While Not IsEmpty(SearchRange)
Set c1 = SearchRange.Find("Missing")
c1.ClearContents
Set c2 = SearchRange.Find("NR")
c2.ClearContents
Set c3 = SearchRange.Find("NO")
c3.ClearContents
Loop
End Sub
这似乎找到并删除只有部分的细胞,而不是他们的所有内容。 你能告诉我为什么发生这种情况,也许给我一个提示如何解决它?
答
基本上找到会给你只有你正在寻找你的项目的第一个实例。您将不得不使用下面给出的findnext
Set SearchRange = Range("B58:J158")
Set c = SearchRange.Find("NO")
If Not c Is Nothing Then
Do
c.ClearContents
Set c = SearchRange.FindNext(c)
Loop While Not c Is Nothing
End If
+0
非常感谢,这对我有用:) – Toni92
在运行此代码时出现错误。可能是如果你解决这个问题,你会得到正确的输出 –
是的,谢谢你的评论,我忘了提及那个错误,我不知道是什么原因造成的。因为我似乎没有With块变量,并且Object变量似乎已被设置,否则代码如何为某些内容运行? – Toni92