0
假设我在Excel中有一个包含字母的10行(单元格A1到A10)的向量,并且我想提取字母“X”的出现次数。影响自动填充列到VBA中变量的总和
这是一个最小的工作实施例,显示了溶液我建议来解决这个问题:
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
基本上,我使用其中在单元格的Bi的结果,条件是1,如果单元格的内容Ai是“X”或0。我做了一个自动填充来测试所有的行i = 1到10,然后我总结了结果。
我想要的是自动填充结果不会出现,也就是说我想将自动填充结果影响到一个变量,例如,不会显示在表单上,然后总结所有单元格的内容(由自动填充),并只显示最终结果(总和)。
有没有办法做到这一点?所有建议都欢迎。谢谢。
为什么不使用COUNTIF():'= COUNTIF(A1:A10, “X”)'? –
@ScottCraner我是VBA的新手,我不知道这个功能。此外,这是我真正问题的简化版本。 – Likely
@ScottCraner我真正想要的不是计算“X”的出现次数。相反,假设你有另一个列(例如B),它包含价格(相对于列A的内容:单元格A1的内容具有价格B1 ...),我想要的是提取总成本元素“X”。 – Likely