总结可见单元格

在应用了高级filter之后,我使用下面的代码来只求和可见的单元格,它的function很好。 但是,在filter之后没有可见的单元格时显示错误。 任何想法如何掩盖错误?

Sub sum () Sheets("Sheet1").Select x = cells(Rows.Count, 8).End(xlUp).Row Sheets("Tax Invoice").Range("M55") = WorksheetFunction.Sum(Range("H7:H" & x).SpecialCells(xlCellTypeVisible)) End sub 

在尝试计算总和之前,计算可见行的数量:

 Option Explicit Public Sub sumTaxInvRng() Dim x As Long, vRng As Range With Sheets("Sheet1") x = .Cells(.Rows.Count, 8).End(xlUp).Row Set vRng = .Range("H7:H" & x).SpecialCells(xlCellTypeVisible) End With If vRng.Count > vRng.Columns.Count Then Sheets("Tax Invoice").Range("M55") = WorksheetFunction.Sum(vRng) End If End Sub 

此外,您不应该使用本地函数名称为您的函数: Sub sum()