找到一个范围,然后根据找到的范围清除另一个范围中的内容



不确定我在问题中是否解释得很好,但我会在这里解释得更好。

我想做的是了解如何搜索特定文本的范围,并使用该搜索来定义可以清除其中内容的范围。我想从中清除内容的区域中有一些固定数据,我想跳过清除。但我想清除的数据总是在固定范围的单元格上。

为了更好地解释。如果我的搜索范围为A2:G50,我想根据下拉列表在该范围内搜索数据。一旦找到,我想清除范围A中11个单元格的内容,然后清除范围C:G中11个细胞的内容。将内容物留在范围B中。

任何关于VBA的帮助都将不胜感激,因为我不知道。

Private Sub CommandButton2_Click()
Dim rgFound As Range
Set rgFound = Sheets("Planning").Range("A:A").Find(What:="AD6")
Range("rgFound").Resize(11, 12).Offset(, 2).Clear

End Sub

获取应用程序/对象定义的运行时错误1004

谢谢

它不是Range("rgFound"),而是rgFound。此变量是对找到的范围的引用。

请注意,在使用之前,您必须检查是否发现了任何东西:

If Not rgFound Is Nothing Then
'now you can use rgFound
rgFound.Resize(11, 12).Offset(, 2).Clear
Else
MsgBox "nothing was found"
End If

还要注意,对于Range.Find方法,还需要定义LookInLookAtSearchOrderMatchByte参数。否则,Excel将使用以前在用户界面或VBA中使用的任何内容(您的查找结果是否随机(。所以你应该明确地定义它们。

最新更新