影响自动填充列与VBA

时间:2017-06-20 19:13:08

标签: excel vba excel-vba

假设我在Excel中有一个包含字母的10行(单元格A1到A10)的向量,我想提取字母" X"的出现次数。

这是一个最小的工作示例,显示了我建议解决问题的解决方案:

Sub Macro1()

    Range("B1").Activate 
    ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""X"",1,0)"
    Selection.AutoFill Destination:=Range("B1:B10"), Type:=xlFillDefault

    Range("B11").Activate
    ActiveCell.FormulaR1C1 = "=SUM(R[-10]C:R[-1]C)"

End Sub

基本上,我使用的条件是,如果单元格Ai的内容为" X"则单元格Bi中的结果为1。否则为0。我做了一个自动填充来测试i = 1到10的所有行,然后我总结了结果。

我想要的是自动填充结果不会出现,即我想影响自动填充结果的变量,例如,没有在工作表上显示,然后总和所有单元格的内容(由自动填充产生) )并且仅显示最终结果(总和)。

有办法做到这一点吗?欢迎所有建议。感谢。

1 个答案:

答案 0 :(得分:0)

为什么不使用COUNTIF():=COUNTIF(A1:A10,"X")

但就你的代码而言:

Sub Macro1()        

    Range("B11").FormulaR1C1 = "=COUNTIF(R[-10]C[-1]:R[-1]C[-1],""X"")"

End Sub