如果字体是某种颜色,请检查excel单元格?

use*_*635 2 vba microsoft-excel-2007

我想使用 vba 检查 excel 中单元格中的文本是否具有某种颜色,比如说红色。有任何想法吗?

Dav*_*ill 9

我想用VBA来检查excel中单元格中的文本是否具有某种颜色

让我们说红色

您可以使用 Font.ColorIndex

请参阅下面的示例。

要检索单元格颜色,请使用:

=GetFontColor(A1)
Run Code Online (Sandbox Code Playgroud)

VBA - 获取字体颜色功能

例如,当我们的工作表数据上有颜色并且想要计算我们的工作表上有多少“红色”字时,这是不可能的,因为 Excel 中没有用于检查字体颜色的公式。相反,我们可以创建自己的 VBA 函数来获取字体颜色。这是一个非常简单的代码。您必须将其插入工作表上的 VBA 模块中。

Function GetFontColor(ByVal Target As Range) As Integer
    GetFontColor = Target.Font.ColorIndex
End Function
Run Code Online (Sandbox Code Playgroud)

然后你可以像这样在你的工作表上使用它:

=GetFontColor(A2)
Run Code Online (Sandbox Code Playgroud)

以下是有关如何使用此功能的示例。在 C 列中,我们将文本的字体颜色放在 A 列中。

alt

要计算 A 列中“红色”单词的数量,我们可以使用:

COUNTIF(C2:C9,3)
Run Code Online (Sandbox Code Playgroud)

3式中的是指红颜色。

Source VBA – 获取字体颜色功能。脚本已经过调整以符合问题的要求。


如果我想要单元格颜色怎么办?

使用以下函数:

Function GetCellColor(ByVal Target As Range) As Integer
    GetCellColor = Target.Interior.ColorIndex
End Function
Run Code Online (Sandbox Code Playgroud)

要检索单元格颜色,请使用:

=GetCellColor(A1)
Run Code Online (Sandbox Code Playgroud)

基于背景颜色的总和单元格。脚本已经过调整以符合问题的要求。


进一步阅读