我对一个范围进行了筛选,并复制了那个筛选后的范围。
myRange.SpecialCells(xlCellTypeVisible).Copy
当筛选器过滤所有案例后,我收到以下错误:
错误1004:没有找到单元格。
我正在寻找一种方法(无需使用On Error
)来检查筛选范围是否为空。
我已经尝试使用lastRow = .Cells(.Rows.Count, ColumnName).End(xlUp).Row
创建一个范围并检查if lastRow > 0
,但是这种方式也会计算被筛选(或隐藏)的行内容。
我还尝试过:
Sub test()
Dim rngStart As Range
Dim rngFiltered As Range
Set rngStart = Sheets(1).Range("A1:A6")
Set rngFiltered = rngStart.SpecialCells(xlCellTypeVisible).Select
If rngFiltered.Rows.Count = 0 Then
MsgBox ("No Cases")
Else
MsgBox ("Found Cases")
End If
End Sub
但是在这里我得到了错误信息"No cells found",出现在Set rngFiltered
行。
由于筛选器非常复杂,因此我没有使用.Sort
函数,也没有标题行。
On Error
有什么问题吗? - RoryOn Error Resume Next
,将可见单元格分配给Range
变量,然后On Error Goto 0
并测试范围是否为Nothing
。由于您没有发布隐藏行的代码,因此很难建议其他方法。 - Rory