ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 根据单元格内容填充整行颜色

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-6-24 10:29 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
表格不是很规则,根据C列单元格,文本相同则填充整行颜色,谢谢

文本相同标记颜色.zip

15.79 KB, 下载次数: 14

TA的精华主题

TA的得分主题

发表于 2024-6-24 10:51 | 显示全部楼层
看了一下你的表格和你的代码,不是很明白你要达到的效果是依据什么来判断的,数据中没有一个是日期,但是你的判断条件是判断日期。数据放在C列,你判断的是A列
image.png
QQ图片20240624104956.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-24 11:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
木子客 发表于 2024-6-24 10:51
看了一下你的表格和你的代码,不是很明白你要达到的效果是依据什么来判断的,数据中没有一个是日期,但是你 ...

这是抄袭别人的未成功,小白一枚

TA的精华主题

TA的得分主题

发表于 2024-6-24 19:41 | 显示全部楼层
529905149 发表于 2024-6-24 11:11
这是抄袭别人的未成功,小白一枚

你都没描述清楚你要达到的效果是什么样的

TA的精华主题

TA的得分主题

发表于 2024-6-24 21:04 | 显示全部楼层
不知道是不是这个效果。。。

test.rar

17.42 KB, 下载次数: 11

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-25 07:56 | 显示全部楼层
自己解决了
Sub 列文本相同则标记为同色()
Dim ws As Worksheet
    Dim clr As Long
    Dim rng As Range
    Dim cell As Range
    Dim r As Range
   
    Set ws = ThisWorkbook.Sheets(ActiveSheet.Name)
    Set rng = ws.Range("c1:c" & Range("c" & ws.Rows.Count).End(xlUp).Row)
    With rng
        Set r = .Cells(.Cells.Count)
    End With
    rng.Interior.ColorIndex = xlNone
    clr = 3
    For Each cell In rng
        If Application.WorksheetFunction.CountIf(rng, cell) > 1 Then
            'addresses will match for first instance of value in range
            If rng.Find(What:=cell, LookAt:=xlWhole, MatchCase:=False, After:=r).Address = cell.Address Then
                'set the color for this value (will be used throughout the range)
                cell.Interior.ColorIndex = clr
                clr = clr + 1
                '另一种方法把表中数字部分单元格删除.:将  clr = clr + 1 替换成  If clr = 44 Then clr = 46 Else clr = 44
                  
                End If
            Else
                'if not the first instance, set color to match the first instance
                cell.Interior.ColorIndex = rng.Find(What:=cell, LookAt:=xlWhole, MatchCase:=False, After:=r).Interior.ColorIndex
            End If
        End If
    Next
    End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-17 18:58 , Processed in 0.037439 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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