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

Find a range and then clear contents from another range based upon the found range

不确定我是否已经在我的问题中很好地解释了这一点,但我会尝试在这里更好地解释。

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

更好地解释。如果我有 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 method,您还需要定义 LookInLookAtSearchOrderMatchByte 参数。否则 Excel 将使用之前在用户界面中或 VBA 使用的任何内容(并且您的查找将随机工作或不工作)。所以你应该明确定义它们。