获取debugging错误“未find单元格”
我试图改变一些现有的代码,以适应插入两行。 代码看起来很合理,但它一直给我debugging错误没有find单元格 。 代码有一个1
英寸的偏移值,它工作正常。 一旦我添加了两行,我将Offset值更改为3
,但之后开始给我一个debugging错误。 在两行之前:
With Sheets("Main") .Range("A1").CurrentRegion.AutoFilter field:=5, Criteria1:="SC Link" .Range("A1").CurrentRegion.Offset(1).SpecialCells _ (xlCellTypeVisible).EntireRow.Delete .Range("A1").CurrentRegion.AutoFilter End With
两行加法之后:
With Sheets("Main") .Range("A1").CurrentRegion.AutoFilter field:=5, Criteria1:="SC Link" .Range("A1").CurrentRegion.Offset(3).SpecialCells _ (xlCellTypeVisible).EntireRow.Delete .Range("A1").CurrentRegion.AutoFilter End With
有没有人看到我不?
我不知道这是否是您的问题,但是在使用SpecialCells
的情况下,如果您使用的区域可能不在表单的UsedRange
(在您可能预期)
例如:
从空白表格开始,只在第一行添加一些数据(比如A1:F1)
然后运行这个
Dim r As Range Set r = Range("A1").CurrentRegion.Offset(1,0).SpecialCells(xlCellTypeBlanks)
…给出运行时错误,因为第二行不在当前UsedRange范围内。
如果您在(例如)J10中input一个值,然后重新运行上面的代码,它将不会再提供错误。 如果从J10中删除该值,代码将继续运行而不会出现错误,因为UsedRange
不会自动重置。 如果你跑步
? ActiveSheet.UsedRange.Address()
在即时窗格中,那么将重置UsedRange和SpecialCells将再次导致运行时错误。