Cus*_*omX 6 excel vba excel-2007 excel-vba
我希望能够过滤并显示全局范围和可见(过滤)范围的计数和总和.使用以下代码,我可以显示全局范围的count和sumif:
AtmCount = Application.WorksheetFunction.CountIf(Range("X3:X4533"), ">0")
AtmSum = Application.WorksheetFunction.Sum(Range("X3:X4533"))
Run Code Online (Sandbox Code Playgroud)
通过这部分,我可以显示过滤范围的计数:
AtmCurrentCount = Range("X3:X4533").SpecialCells(xlCellTypeVisible).Count
AtmCurrentSum = ???
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我获得仅有可见行的总和吗?
这将做你想要的.将visibleTotal设置为total的相应数据类型,并更改ws和rng对象以匹配工作簿中的对象.
Sub SumVisible()
Dim ws As Worksheet
Dim rng As Range
Dim visibleTotal As Long
Set ws = ThisWorkbook.Sheets("Sheet1")
Set rng = ws.Range("B1:B7")
ws.AutoFilterMode = False
rng.AutoFilter field:=1, Criteria1:=5
visibleTotal = Application.WorksheetFunction.Sum(rng.SpecialCells(xlCellTypeVisible))
' print to the immediate window
Debug.Print visibleTotal
End Sub
Run Code Online (Sandbox Code Playgroud)
如果您只想对过滤范围的一部分求和(例如,您在列A上过滤但希望列B的总和),请参阅此问题和答案:复制/粘贴/计算过滤表的一列中的可见单元格.