文章目录
筛选删选后求和筛选
Private Sub TextBox2_Change()If TextBox2.Text = "" ThenAutoFilterMode = FalseElseActiveSheet.Range("$A$1:$V$1000").AutoFilter Field:=6, Criteria1:="*" & TextBox2.Text & "*", visibledropdown:=FalseActiveSheet.Range("I1").AutoFilter 9, visibledropdown:=False '设置不显示下拉框,是I1的位置,但9是从A1开始数到I1的9End IfEnd Sub
删选后求和
表示对I2到I801行,列不变得,删选后得数据进行求和。
SUBTOTAL的109参数表示求和
R[1]C:R[800]C是R1C1样式。。
你代码中先选择了I1
Range(“I1”).Select
下面的代码
ActiveCell.FormulaR1C1 = “=SUBTOTAL(109,R[1]C:R[800]C)”
表示在I1里面写入公式:
“=SUBTOTAL(109,R[1]C:R[800]C)”
R[1]C:R[800]C
中的R[1]C 表示相对于I1向下偏移1行,列不变,即I2,
R[800]C 表示相对于DI1向下偏移800行,列不变,I801
所以呢 "=SUBTOTAL(109,R[1]C:R[800]C)"就等于=SUBTOTAL(109,I2:I800)
余下的类推即可
Sub 求和_Click()Range("I1").SelectActiveCell.FormulaR1C1 = "=SUBTOTAL(109,R[1]C:R[800]C)"End Sub