ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2542|回复: 1

[VBA程序开发] 录制了条件格式-重复值的宏,请教一下各位大神这段宏的含义?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-12-22 22:42 | 显示全部楼层 |阅读模式
VBA初学者,最近有文件需要识别重复值并标记。我录制了一段条件格式标记重复值的宏文件,确实很好用,但是很多方法属性没有见过,也查不到,能请各位老师讲解一下么?
PS:不懂的地方:
1、AddUniqueValues 是在做什么?想在表格里实现什么功能?
      在msdn上的解释我实在没查明白,不知道有没有更详细的解释,请各位大神指条明路QAQ

      MSDN的解释如下:
      Returns a new UniqueValues object representing a conditional formatting rule for the specified range.
      返回一个新的UniqueValues的对象,代表特定单元格的条件格式规则。
      请问上面这是要干什么呢?
https://msdn.microsoft.com/zh-cn/library/office/microsoft.office.interop.excel.formatconditions_methods.aspx,倒数第五个


2、为什么要用Selection.FormatConditions.Count统计选中区域的条件格式数量?
3、SetFirstPriority是什么意思?设置第一个条件属性?不设置会怎样呢?
     Sets the priority value for this conditional formatting rule to "1" so that it will be evaluated before all other rules on the worksheet.
     为条件格式规则设置优先值1,这样,这个规则就会在工作表1当中的所有其他规则之前计算。
     https://msdn.microsoft.com/zh-cn/library/office/microsoft.office.interop.excel.uniquevalues_members.aspx

     为什么要在统计了选中区域有多少条件格式(Selection.FormatConditions.Count)后,再设置一个条件属性呢?
4、DupeUnique是怎么用的呢?msdn上的我还是没看明白……因为只有解释(请见图片附件,网址见下)
     https://msdn.microsoft.com/zh-cn/library/office/microsoft.office.interop.excel.uniquevalues.dupeunique.aspx
(翻译过来好像是:如果条件规则正在查找无重复或重复值,那么就返回或设置这个值)
5、特别不懂就是这里了:这段宏是怎么识别重复值的,是用DupeUnique 的xlDuplicate吗?(xlDuplicate的MSDN网址如下)
     https://msdn.microsoft.com/zh-cn/library/office/microsoft.office.interop.excel.xldupeunique.aspx
     xlDuplicate    Display duplicate values.
————————————————————————
Sub 宏2()
'

    Selection.FormatConditions.AddUniqueValues
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    Selection.FormatConditions(1).DupeUnique = xlDuplicate
    With Selection.FormatConditions(1).Font
        .Color = -16383844
        .TintAndShade = 0
    End With
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 13551615
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
End Sub


效果请各位大神见图片附件。





1482415667(1).png
1482416335(1).png

条件格式-查找重复单元格并标记.rar

8.05 KB, 下载次数: 7

TA的精华主题

TA的得分主题

发表于 2018-10-25 16:05 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
今天刚做到这个,按我的理解
Selection.FormatConditions(1) 得出的应该是个FormatCondition对象
按FormatCondition去做死活不对
MsgBox TypeName(Selection.FormatConditions(1)) 看了一下,得出的是UniqueValues 对象
折腾了很久,发出来给需要的人看看,UniqueValues 对象UniqueValues 对象UniqueValues 对象
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-24 15:27 , Processed in 0.036996 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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