摘要
在“Microsoft Excel 公式”选项卡上,我们知道在“更多函>数统计”类别中,有一个名为 COUNTIF 的函数,该函数对满足给定条件的区域内的单元格数进行计数。 该函数的条件仅限于文本或数字。 但是,使用 VBA 可以创建一个函数来计算具有其他条件(如单元格颜色)的单元格数。
更多信息
使用 VBA,可以创建用户定义函数 (UDF) 并将其保存到加载项文件中,以便可以在其他工作簿中使用并传输到其他计算机。
如何创建 UDF
下面是创建用于计算单元格颜色的 UDF 的步骤:
打开 Microsoft Excel,然后按 Alt+F11 显示 Visual Basic 编辑器 (VBE) 窗口。
在 “插入 ”菜单上,选择 “模块 ”以创建模块。 然后键入以下脚本:
Function CountCcolor(range_data As range, criteria As range) As Long Dim datax As range Dim xcolor As Long xcolor = criteria.Interior.ColorIndex For Each datax In range_data If datax.Interior.ColorIndex = xcolor Then CountCcolor = CountCcolor + 1 End If Next datax End Function
关闭 VBE 窗口以返回到 Excel。
若要测试 UDF,请创建包含不同颜色的单元格列的示例数据。
在单元格 D3 中,编写函数:
=CountCcolor(range_data,criteria)
在“range_data”参数中,选择单元格 C2 到 C51。
在“criteria”参数中,选择单元格 F1。
按 Enter 键。 单元格 F2 中的结果为 6。 这意味着以蓝色着色的单元格数为 6。
可以使用其他颜色进行测试。 使用“家庭>填充颜色”更改单元格 F1 中的颜色以及你希望从数据中获取的任何颜色。
还可以压缩 UDF,以便可在另一个工作簿或其他计算机上使用该函数。 为此,请执行以下步骤:
步骤 1:保存工作簿
a. 选择 “文件”,然后 另存为” (根据需要选择 “浏览 ”。)
b. 选择 Excel Add-In (.xlam) 作为格式,并为文件命名,例如 CountCcolor。
注意
可将Add-In文件保存到所需的任意位置。 但是,若要将其列为 Excel 程序中的Add-In,请将其保存到默认位置。 在 Windows 7 中,任何版本的 Microsoft Excel 的默认位置是:C:\Users\RADDINI\AppData\Roaming\Microsoft\AddIns
步骤 2:安装加载项
a. 在要安装外接程序的计算机上打开 Microsoft Excel。
b. 通过在“开发人员”选项卡上选择 Excel 外接程序(用于 Excel 2013 和更高版本)打开Add-Ins对话框。 (Excel 2010.) 上的加载项
c. 在 “加载项 ”对话框中,选择 “浏览”。
d. 转到保存Add-In文件的文件位置 (如 USB 驱动器或基于云的文件夹) 。 选择该文件,然后选择 “打开”。
e. 在Add-Ins对话框中,确保未选中加载项复选框。 然后,选择“确定”。
已安装 Count Cell Color UDF 并准备使用。 你可以随时访问此函数,方法是将光标放入工作表中的任何单元格并键入:
=CountCcolor(range_data,criteria)
社区解决方案内容声明
MICROSOFT CORPORATION 和/或其各自的供应商没有说明此处包含的信息和相关图形的适用性、可靠性或准确性。 所有此类信息和相关图形均“按原样”提供,无需任何类型的保证。 MICROSOFT 和/或其各自的供应商特此不理会有关此信息和相关图形的所有保证和条件,包括所有隐含的保证和适销条件、特定目的的适用性、工作方式、游戏和非侵权。 你特别同意,在任何情况下,MICROSOFT 和/或其供应商都不应对任何直接、间接、惩罚性、附带、特殊、后果性损害或任何损害负责,包括因使用或无法使用此处包含的信息和相关图形而产生的或以任何方式导致的、不限于使用、数据或利润损失的任何损害, 无论是基于合同、侵权、疏忽、严格责任还是其他原因,即使 MICROSOFT 或其任何供应商都被告知存在损害的可能性。