【问题标题】:using the count funtion in vba在 vba 中使用 count 函数
【发布时间】:2016-03-02 13:42:25
【问题描述】:

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

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

我需要在我正在编写的大型脚本中以某种方式在 VBA 中使用它来处理大量数据。我有三列,每列是交通灯的颜色(“绿色、琥珀色、红色”)。我需要计算有多少绿色、琥珀色和红色等,但在每一行中,如果我有绿色、琥珀色、绿色等,那么封面都是琥珀色,这就是我要数的。我需要统计一下这三者的整体状态。

数据看起来像这样:-

Green       Green   Green
Green       Amber   Green
Amber       Red     Red
Red         Green   Green

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

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

【问题讨论】:

  • 我不明白你需要数什么...
  • 问题很清楚,没有显示或清楚的是您为解决此问题所做的编码工作。请展示您的尝试以及失败的地方,否则,您的问题很可能会被关闭,或者至少会被否决和忽略。

标签: vba excel


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-03-26
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    相关资源
    最近更新 更多