影响VBA中自动填充列与变量之和

影响VBA中自动填充列与变量之和,vba,excel,Vba,Excel,假设我在Excel中有一个包含字母的10行向量(单元格A1到A10),我想提取字母“X”的出现次数 这是一个最小的工作示例,显示了我建议的解决问题的解决方案: Sub宏1() 范围(“B1”)。激活 ActiveCell.FormulaR1C1=“=IF(RC[-1]=“X”,1,0)” Selection.AutoFill目标:=范围(“B1:B10”),类型:=xlFillDefault 范围(“B11”)。激活 ActiveCell.FormulaR1C1=“=SUM(R[-10]C:R[

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

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

Sub宏1()
范围(“B1”)。激活
ActiveCell.FormulaR1C1=“=IF(RC[-1]=“X”,1,0)”
Selection.AutoFill目标:=范围(“B1:B10”),类型:=xlFillDefault
范围(“B11”)。激活
ActiveCell.FormulaR1C1=“=SUM(R[-10]C:R[-1]C)”
端接头
基本上,我使用一个条件,如果单元格Ai的内容为“X”,则结果(放入单元格Bi)为1,否则为0。我做了一个自动填充来测试所有的行I=1到10,然后在最后总结结果

我希望自动填充结果不出现,即我希望将自动填充结果影响为一个变量,例如,该变量未显示在工作表上,然后对所有单元格的内容(由自动填充产生)求和,并仅显示最终结果(求和)

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

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

但就您的代码而言:

Sub Macro1()        

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

End Sub

为什么不使用COUNTIF():
=COUNTIF(A1:A10,“X”)
?@ScottCraner我是VBA的新手,我不知道这个函数。此外,这是我真正问题的简化版本。@ScottCraner我真正想要的不是计算“X”的出现次数。相反,假设您有另一列(例如,B)包含价格(相对于A列的内容:单元格A1的内容有价格B1…),我想要的是提取元素“X”的总成本。这是一个不同的问题:查看SUMIF()。与COUNTIF()@ScottCraner非常相似,在本例中,我所要做的就是调整条件,以便在A列中有“X”时取B列中的价格,或者改为0。