2015-09-14 90 views
0

应用高级过滤器后,我只使用下面的代码求和可见单元格,它的功能很好。但是,如果过滤器后没有可见单元格,则会显示错误。有关如何掩盖错误的任何想法?总计可见单元格

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 
+0

错误具体说什么?它会发生什么?我似乎无法自己重现这一点。 – SCB

+0

嗨@SCB,保罗回答如下所示。 :) 不管怎么说,还是要谢谢你。 – Xcel

回答

2

试图计算总和,倒数可见的行数:

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()

+0

非常感谢您的解决方案。 :) – Xcel

+0

不客气(请务必使用最新的编辑) –

相关问题