Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2828|回复: 1

Excel条件格式与自定义单元格的颜色冲突

[复制链接]
发表于 2017-8-9 21:16 | 显示全部楼层 |阅读模式
我自定义了一个函数,用来计算某种颜色单元格在所选单元格中的占比,但是后面使用的时候发现一个问题,单元格的颜色有两类,一类是我用条件格式上的颜色,还有一类是我手动上的颜色,统计结果就是,条件格式上的颜色统计不到,只能统计到我手动上的颜色。请教各位大神,我现在不管要什么颜色,全部都要统计到位的话,应该怎么修改我的表格,非常感谢。
另外,还有个问题,这个自定义函数计算结果不能自动更新,每次都要点击开始计算才会更新结果,请问要加什么代码能解决,非常感谢。
自定义函数如下:
  1. Function SC(ColorCell, Sum_range, Refer_range)
  2. Application.Volatile
  3.    '【参数1: ColorCell】      指定底色的单元格(单一单元格)
  4.    '【参数2: Sum_range】      单元格矩形区域,所需统计的列
  5.    '【参数3: Refer_range】    单元格矩形区域,参照区域,参照该列最后一个非空单元格的行号
  6.    '【功能】返回指定单元格颜色在选中单元格个数的占比
  7.   '
  8.   SC = 0
  9.   X = 0
  10.   Y = 6
  11.    '下面开始统计第1参数对象区域中,所有相同底色单元格中的结果
  12.    For J = 7 To 300
  13.    If Refer_range.Cells(J).Value <> "" Then
  14.    Y = Y + 1
  15.    End If
  16. Next

  17. If Y >= 7 Then

  18.     For i = 7 To Y  '遍历区域中所有单元格
  19.     If Sum_range.Cells(i).Rows.Hidden = False Then
  20.       If Sum_range.Cells(i).Columns.Hidden = False Then
  21.         X = X + 1 '统计未隐藏的单元格数
  22.         If Sum_range.Cells(i).Interior.ColorIndex = ColorCell.Interior.ColorIndex Then '如果底色相同则
  23.                 SC = SC + 1 '仅仅统计同底色单元格的个数
  24.                 End If
  25.              End If
  26.         End If
  27.     Next
  28.     End If
  29.                         If X <> 0 Then
  30.                         SC = Format(SC / X, "0.00%")  '计算占比
  31.                         Else: SC = "请更新计划"
  32.                         End If

  33. End Function
复制代码





2017-08-09_211108.jpg

请教.zip

90.11 KB, 下载次数: 1

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-8-10 09:23 | 显示全部楼层
本帖最后由 大灰狼1976 于 2017-8-10 10:11 编辑

其他逻辑我就不去看了,提取条件格式单元格当前颜色值可以用以下语句:
Range("??").DisplayFormat.Interior.ColorIndex
其实这个语句提取的是所有单元格的当前底色,而不仅限于条件格式单元格。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-28 08:11 , Processed in 0.252226 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表