Excel精英培训网

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

大神求助!!!单元格函数公式中的随机位置随机个数关键词高亮

[复制链接]
发表于 2016-10-31 20:53 | 显示全部楼层 |阅读模式
本帖最后由 youxianwei 于 2016-11-1 08:21 编辑

大神求助!!!单元格函数公式中的随机位置随机个数关键词高亮

大神求助!!!单元格函数公式中的随机位置随机个数关键词高亮

大神求助!!!单元格函数公式中的随机位置随机个数关键词高亮

大神求助!!!单元格函数公式中的随机位置随机个数关键词高亮.rar

191.75 KB, 下载次数: 4

大神求助!!!单元格函数公式中的随机位置随机个数关键词高亮

 楼主| 发表于 2016-10-31 20:54 | 显示全部楼层

已有基础代码

已有基础代码

Sub excelvba》所有含单元格中重复出现关键词》字体高亮》【爱疯答案】》()
Application.EnableEvents = True '代码结束前,专治死机
t = Timer
    Dim 关键词变量, reg, match, matchs, x
    Set reg = CreateObject("VBScript.RegExp")
   
    reg.Global = True
   
    关键词变量 = "计算公式"
                   '自定义
    For Each x In ActiveSheet.UsedRange
        If InStr(x, 关键词变量) Then
            x.Font.ColorIndex = xlAutomatic
            reg.Pattern = 关键词变量
            Set matchs = reg.Execute(x)
            For Each match In matchs
                x.Characters(Start:=match.FirstIndex + 1, Length:=match.Length).Font.Color = -65281
                x.Characters(Start:=match.FirstIndex + 1, Length:=match.Length).Font.Bold = True
            Next
        End If
    Next
MsgBox "结束!-用时=" & Timer - t & "秒"
Application.EnableEvents = True '代码结束前,专治死机
End Sub
回复

使用道具 举报

发表于 2016-11-1 09:10 | 显示全部楼层
建议举例说明,比如:
1)什么位置上,什么内容需要高亮?
2)什么位置上,什么内容需要高亮?
。。。
回复

使用道具 举报

 楼主| 发表于 2016-11-1 10:40 | 显示全部楼层
黄色区域是if函数公式不是常量,用原代码无法识别高亮变量只能高亮自定义常量关键词
回复

使用道具 举报

 楼主| 发表于 2016-11-1 10:43 | 显示全部楼层
e列有的单元格是if()函数公式,这里面的字符所包含的关键词都无法用原代码高亮,因为是公式变量不是常量。
回复

使用道具 举报

发表于 2016-11-1 11:18 | 显示全部楼层
注意,只可以从中选择一种方式!

方式1:保留公式            不可对公式设颜色。
方式2:不保留公式
            可对公式设颜色。只需先把公式转成值,加一句代码即可,其它不变

...
    For Each x In ActiveSheet.UsedRange
        x.Value = x
        If InStr(x, 关键词变量) Then

...



回复

使用道具 举报

 楼主| 发表于 2016-11-1 11:31 | 显示全部楼层
哦,鱼和熊掌,不可兼得啊,谢谢您的指点
回复

使用道具 举报

 楼主| 发表于 2016-11-2 12:17 | 显示全部楼层
本帖最后由 youxianwei 于 2016-11-2 12:32 编辑
爱疯 发表于 2016-11-1 11:18
注意,只可以从中选择一种方式!

方式1:保留公式            不可对公式设颜色。

大神,再次求助,退而求其次,如果不想原位替换-将d列-复制到-e列(注意!仍然保留一样的公式和计算结果,我尝试复制列粘贴,但是公式会随着列号变化而出错)-再将e列公式里内容-变成值-代码该怎么写?

。。。value只是当前显示的值,看来得去除开头的等号,才能把公式里所有情况的值都显示出来,以上思路还是不对
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 18:22 , Processed in 0.378687 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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