gpt4 book ai didi

excel - 在 Excel 中,需要计算从条件格式中着色的单元格,然后创建特定结果的报告

转载 作者:行者123 更新时间:2023-12-04 20:52:50 27 4
gpt4 key购买 nike

我有一个带有名称的电子表格(在 A 列中),每个名称在一行中有 10 个数字(B-K 列)。我正在使用条件格式以绿色突出显示包含与其他条件匹配的数字的单元格。

现在,我需要计算每个名称的绿色突出显示的单元格,并创建结果报告。例如,我需要一个报告、列表或图表,显示所有人员的姓名,其中 10 个单元格中有 8 个以绿色突出显示。 (带有 8 个绿色单元格的名称 = Joe、Mike、Sue)

我使用以下公式只是为了计算每行绿色单元格,但列表中的名称太多,无法为每一行重复此公式。所以我没有根据这个公式的结果创建报告,因为我需要一个更好的公式来做初始的绿色细胞计数。然后,我需要有关创建最终报告的最佳方法的帮助。谢谢!

enter image description here

Public Sub CountColorCells()
'Variable declaration
Dim rng As Range
Dim lColorCounter As Long
Dim rngCell As Range
'Set the range
Set rng = Sheet1.Range("B2:K2")
'loop throught each cell in the range
For Each rngCell In rng
'Checking Green color
If Cells(rngCell.Row, rngCell.Column).DisplayFormat.Interior.Color = _
RGB(169, 208, 142) Then
lColorCounter = lColorCounter + 1
End If
Next
'Display the value in cell L2
Sheet1.Range("L2") = lColorCounter
End Sub

最佳答案

我相信您在这里确实需要一个 UDF(用户定义的函数)。使用 UDF,您可以输入如下所示的公式

在单元格 L2 中:=CountColorCells(B2:K2)并且该 UDF 将返回该范围内突出显示的单元格的数量。

因此,需要对您的代码进行一些更改。

首先,您要将其声明为 Function ,而不是 Sub因为我们需要返回一个值。

接下来,您的代码几乎是正确的。唯一的问题是,当您迭代范围时(将更改为函数的输入参数),您不需要打破 RowColumn .这已经融入 rngCell .所以你的UDF现在看起来像这样(并且工作得非常快)

Public Function CountColorCells(ByRef thisRange As Range) As Long
Dim lColorCounter As Long
Dim rngCell As Range
For Each rngCell In thisRange
If rngCell.Interior.Color = RGB(169, 208, 142) Then
lColorCounter = lColorCounter + 1
End If
Next
CountColorCells = lColorCounter
End Function

现在(只是因为我无能为力;)),这是我将使用的 UDF 版本。现在,您可以添加一些红色、绿色和蓝色颜色值的可选参数,以防万一您想计算不同的颜色。因此,使用此 UDF 版本,您可以使用公式 =CountColorCells(B2:K2,255,0,0) 计算红色的单元格。 .这只是您可以执行的操作的扩展示例:
Public Function CountColorCells(ByRef thisRange As Range, _
Optional ByVal r As Long = 169, _
Optional ByVal g As Long = 208, _
Optional ByVal b As Long = 142) As Long
Dim checkColor As Long
checkColor = RGB(r, g, b)

Dim lColorCounter As Long
Dim rngCell As Range
For Each rngCell In thisRange
If rngCell.Interior.Color = checkColor Then
lColorCounter = lColorCounter + 1
End If
Next
CountColorCells = lColorCounter
End Function

关于excel - 在 Excel 中,需要计算从条件格式中着色的单元格,然后创建特定结果的报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54504244/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com