• 我国拟推行建筑工人实名制 2018-05-27
  • “君怡娱乐网上赌球”明升88代理重磅 | 网络餐饮新规发布:外卖商户应有实体店 明年元… 2018-05-27
  • 花茶以及花茶的冲泡讲究 2018-05-27
  • “发现池州之美”——凤观池州全媒体行5月10日启动 2018-05-26
  • 《手机2》将拍 崔永元重提旧怨:冯小刚是渣子 2018-05-26
  • 自贡贡井:122名村(社区)党支部书记“充电”全覆盖 2018-05-25
  • 辽宁长海县:海岛垃圾将实现自产自消 2018-05-25
  • 本港台网址葡京六合彩图库 2018-05-25
  • 你还在用微信聊天,聪明的人早已在用微信赚钱!—海口论坛 2018-05-25
  • 西安今晚开始天气转阴 全省这周阴雨天气为主|阴雨|天气-要闻 2018-05-24
  • 日媒称“森友丑闻”持续发酵 打乱安倍长期执政设想 2018-05-24
  • 向世界说明前郭尔罗斯城市精品推介会在京举行 2018-05-24
  • 导演江平:增强文化自信 中国电影才会更好看 2018-05-24
  • 4月增持回购近262亿元 产业资本吹响抄底A股号角 2018-05-24
  • 郜林强势爆发让球迷欣喜 未来他会继续在恒大挑起大梁 2018-05-23
  • Excel VBA自定义函数对数据区域按单元格颜色或者字体颜色汇总

    时间:2017-10-30   作者:snow   来源:Office之家

    应用场景

    自定义函数,对数据区域按单元格颜色或者字体颜色汇总

    知识要点

    1:Function函数过程,4个参数,第一个参数为Range对象、参照条件,第二参数为Range对象、求和区域对象

    2:第三个参数 Boolean对象、求和OR计数,第四个参数Boolean对象、按单元格颜色OR字体颜色,Ture也可以简写为1或其他数字,0或者空缺代表False

    3:Optional 声明变量,表示参数不是必需的。

    4:Application.Volatile 方法 用于将用户自定义函数标记为易失性函数,无论何时在工作表的任意单元格中进行计算时,易失性函数都必须重新进行计算

    Function Color(参照颜色区 As Range, 统计区 As Range, Optional SumorCount As Boolean = False, Optional BackOrFont As Boolean = False)

        Application.Volatile 'application.volatile方法,用于将用户自定义函数标记为易失性函数,无论何时在工作表的任意单元格中进行计算,易失性函数

                             '都必须重新进行计算。非易失性函数只有在输入变量改变时才重新计算,若不用于计算工作表单元格的自定义函数中,则次方法无效

        Dim Cell As Range, Colors, Sum, i

        '如果第四参数是true则背景色求和,否则按字体颜色求和

        Colors = IIf(BackOrFont, 参照颜色区(1).Interior.Color, 参照颜色区(1).Font.Color)

        For Each Cell In 统计区  '遍历求和区

        If BackOrFont Then

            '背景色相同则累加数值及计数器

            If Cell.Interior.Color = Colors Then

                Sum = Sum + IIf(IsNumber(Cell), Cell, 0)

                i = i + 1

            End If

        Else

                '字体色相同则累加数值及计数器

            If Cell.Font.Color = Colors Then

                Sum = Sum + IIf(IsNumber(Cell), Cell, 0)

                i = i + 1

            End If

        End If

        Next Cell

        Color = IIf(SumorCount, Sum, i) '将合计数赋予函数

    End Function

    tag : 颜色   汇总
    发表评论