1

我在 excel 2007 中创建了一个电子表格,供教师根据各种参数监控进度和成绩。

为了创建参数规则,我使用了一组运行良好的宏,并且包含学生分数的单元格会根据他们的进度是否达到预期水平、低于或高于预期水平(黄色、红色和绿色-原始 I知道!!)。

我现在正在尝试创建一个“插入式”电子表格,允许员工从主工作表(包含年级组中的所有学生)复制和粘贴,并专门针对他们自己的班级获得反馈。一切都很顺利,直到我想到了我认为最简单的部分——用 excel 计算每列中不同颜色单元格的数量。我知道这不能通过公式来完成,除非你有 xCELLcolor 插件(我们没有),所以我使用 VBA 编写了一个非常简单的 CountColor 脚本。

我现在可以应用一个公式来计算基于现有单元格颜色的任何彩色单元格,但我无法计算从主电子表格复制的彩色单元格。我不断得到答案“0”或“29”,这是列中单元格的总数!

这是否与主电子表格通过宏分配单元格颜色的方式有关,当将单元格复制并粘贴到“插入式”电子表格时,excel 是否无法识别单元格具有颜色?

我完全被难住了,因为它适用于我手动用颜色格式化的列!有什么建议么?

4

1 回答 1

0

我会使用 VBA 来做这类事情。键入将这段代码弹出到主电子表格中的模块中:

Public Function CountColouredCells(rge As Range, colour As Integer) As Long

Dim rge2 As Range
Dim count As Long

For Each rge2 In rge
    If rge2.Interior.Color = colour Then
        count = count + 1
    End If
Next

CountColouredCells = count

End Function

然后,您可以像使用工作簿中的任何其他 Excel 函数一样使用它:=CountColouredCells(A4:D12,255)

第二个参数是您感兴趣的颜色。255是红色的。您可以通过录制宏、更改单元格颜色然后查看 VBA 来找出其他人。

于 2013-05-09T20:27:50.890 回答