您好我正在尝试使用VBA又使用SUBTOTAL对Excel中已过滤行的可见值求和。我的问题是行数会根据过滤器而改变。我试着编写一个循环遍历行的代码,直到它碰到一个空白单元格,然后对可见行进行小计。任何帮助将不胜感激
Sub Test1()
Dim x As Integer
NumRows = Range("K15", Range("K15").End(xlDown)).Rows.Count
Range("K15").Select
For x = 1 To NumRows
H14 = SUBTOTAL(9,"K15" : "NumRows")
ActiveCell.Offset(1, 0).Select
Next
End Sub
答案 0 :(得分:0)
这样的东西?你应该检查开始行(这里是15)和写入sum的单元格(在这种情况下为Cells(14,8)
,id est,H8
)。通常也有助于定义工作表(在这种情况下为Data
)。
Sub Test1()
Dim x As Long
Dim lMySum As Long
Dim NumRows As Long
lMySum = 0
NumRows = Worksheets("Data").Cells(15, 11).End(xlDown).Row
For x = 15 To NumRows
If Not (Worksheets("Data").Rows(x).EntireRow.Hidden) Then
lMySum = lMySum + Worksheets("Data").Cells(x, 11).Value
End If
Next
Worksheets("Data").Cells(14, 8) = lMySum
End Sub