在vba中使用count功能

时间:2016-03-02 13:42:25

标签: excel vba excel-vba

我有一个我知道在excel中工作的公式:

N%8 == 0

我需要在我编写的大型脚本中以某种方式在VBA中使用它来操作大量数据。我有三列,每列都是红绿灯的颜色('绿色,琥珀色,红色')。我需要计算有多少绿色,琥珀色和红色等,但如果我有绿色,琥珀色,绿色,那么每一行内的封面都是琥珀色,这就是我的数量。我需要计算三者的总体状况。

数据看起来像这样: -

=IF(COUNTIF(P11:R11,"=Red")>0,"Red",IF(COUNTIF(P11:R11,"=Amber")>0,"Amber","Green"))

这将是绿色= 1,琥珀色= 1,红色= 2

然后我需要将这些值输入到同一工作簿中的另一个工作表中。希望所有这些都有意义,我正确地解释了这个问题。

1 个答案:

答案 0 :(得分:0)

您可以使用ADO Recordset在单元格上发出SQL语句。 SQL语句将按照每行返回适当颜色的公式进​​行分组,并且还会返回每个分组的计数。最后,您可以使用CopyFromRecordset将结果粘贴到新工作表中。

或者,您可以将单元格读入数组,并逐行处理数组的内容。声明三个整数变量,每种颜色一个,并根据行的正确值增加适当变量的值。然后,您可以将这些变量的值写入新的或现有的工作表中。