【发布时间】:2023-01-19 02:15:23
【问题描述】:
当日期小于 TODAY() 时,我想对一系列单元格进行颜色计数。
颜色在底部被引用为红线
=IF(B9:B372<=TODAY(),ColorCount($B$387,D9:D372),"")
我应该从单元格 D9:D372 收到 10
我应该从单元格 F9:F372 收到 3
我应该从单元格 H9:H372 收到 5
代码
Function ColorCount(ColorCell As Range, DataRange As Range)
Dim Data_Range As Range
Dim Cell_Color As Long
Cell_Color = ColorCell.Interior.ColorIndex
For Each Data_Range In DataRange
If Data_Range.Interior.ColorIndex = Cell_Color Then
ColorCount = ColorCount + 1
End If
Next Data_Range
End Function
【问题讨论】:
-
您没有收到
#Name错误这一事实表明ColorCount是一个用户定义函数。请在您的问题中包含该代码。还指出细胞是如何着色的。它们是条件格式还是由用户手动着色?它有所作为。 -
Function ColorCount(ColorCell As Range, DataRange As Range) Dim Data_Range As Range Dim Cell_Color As Long Cell_Color = ColorCell.Interior.ColorIndex For Each Data_Range In DataRange If Data_Range.Interior.ColorIndex = Cell_Color Then ColorCount = ColorCount + 1 End If Next Data_Range 结束功能
-
用户从底部的颜色手动复制和粘贴。在单元格 B387 上定义
-
如果您需要添加代码,请编辑你的问题并将其添加到那里。 stackoverflow.com/posts/75162566/edit
-
您是不是在该公式中缺少
SUM()?
标签: vba if-statement excel-formula