我正在编写一个宏来根据原始数据的计数创建摘要。
每个案例有100多行,有20个案例具有不同的价值。
我想显示这样的摘要:绿色区域表示所有行的计数值大于20.粉红色表示所有计数的总和。
为此,我写道:
Range("A2") = "Total"
Range("A3") = "Case 1"
Range("A4") = "Case 2"
Range("A5") = "Case 3"
Range("A6") = "Case 4"
....
对于绿地,我写道:
Range("B3").formula = "=COUNTIF(T:T, "">""20)"
Range("B3").formula = "=COUNTIF(T:T, "">""20)"
Range("B3").formula = "=COUNTIF(T:T, "">""20)"
Range("B3").formula = "=COUNTIF(T:T, "">""20)"
....
正如您所预测的那样,表格中的每个单元格都有很多代码行。
有没有简单的方法可以做到这一点?
答案 0 :(得分:1)
这对我有用:
Dim n as Long, rng As Range
Set rng = ThisWorkBook.Range("A2")
For n = 1 to 20
rng.Offset(n, 0).Value = "Case " & n
rng.Offset(n, 1).Formula = "=COUNTIFS(S:S,""Case " & n & """,T:T,"">20"")"
Next n
答案 1 :(得分:1)
你也可以试试这个:
With ThisWorkbook.Sheets("YourSheetNameHere")
.Range("A2").Value = "Total"
.Range("B1").Value = "Category"
.Range("S2", .Range("S" & .Rows.Count).End(xlUp).Address).Copy .Range("A3")
.Range("A3", .Range("A" & .Rows.Count).End(xlUp).Address).RemoveDuplicates 1, xlNo
.Range("B2").Formula = "=COUNTIF(T:T,"">20"")"
.Range("B3", "B" & .Range("A" & .Rows.Count).End(xlUp).Row).Formula = _
"=COUNTIFS(S:S,A3,T:T,"">20"")"
End With