EXCEL表格中怎么把同列中的某个或多个特殊字变更颜色或字体?如把这列中所有包含“家庭” 变红色呢?

EXCEL表格中怎么把在这一列中的某一个字或多个特殊(一样的)字变成其他颜色或者其他字体?如把这列中所有包含“家庭”两个字变成红色怎么操作呢?版本为EXCEL2007在“... EXCEL表格中 怎么把在这一列中的某一个字或多个特殊(一样的)字变成其他颜色或者其他字体?如把这列中所有包含“家庭” 两个字变成红色怎么操作呢?
版本为EXCEL2007 在“条件格式”下的“文本包含”下处理后 整个这一行多有包含这个字的颜色全部都会相应的改变 但我目的是最终只需要整列的相同“字、词汇”颜色改变即可!求指教!我截图两张第二张是需要做成这样的样本 第一张是条件格式下没有成功的样本!

第一张

第二张
(需要做成第二张)请指教、谢谢!
展开
 我来答
弗尔布雷斯
推荐于2017-10-08 · TA获得超过2765个赞
知道大有可为答主
回答量:2317
采纳率:66%
帮助的人:1197万
展开全部

一列中指定的文字变色?是的话用VBA就可以,代码如下:

Sub 变色()
On Error Resume Next
Dim srng As Range
111
YorN1 = MsgBox("请确认您是否已选中需要变色的范围,当前所选中的范围是:" & Chr(10) & Selection.Address, vbYesNo)
If YorN1 = vbNo Then
    YorN1_1 = MsgBox("是否请重新选取范围?", vbYesNo)
    If YorN1_1 = vbNo Then
        MsgBox ("程序即将结束")
        Exit Sub
    Else
        Set srng = Application.InputBox("请选择需要变色的区域范围", "范围选择", Selection.Address(0, 0), , , , , 8)
        If srng Is Nothing Then
      
        Else
            srng.Select
        End If
        GoTo 111
    End If
End If
222
CColor = InputBox("输入需要变色的文本", "输入内容")
YorN2 = MsgBox("您需要变色的文本是:" & Chr(10) & CColor, vbYesNo)
If YorN2 = vbNo Then
    YorN2_1 = MsgBox("是否重新输入需要变色的文本", vbYesNo)
    If YorN2_1 = vbNo Then
        MsgBox ("程序即将结束")
        Exit Sub
    Else
        GoTo 222
    End If
End If
If CColor = "" Then
    YorN3 = MsgBox("未指定需要变色的文本,是否重新指定?", vbYesNo)
    If YorN3 = vbNo Then
        MsgBox ("程序即将结束")
        Exit Sub
    Else
        GoTo 222
    End If
End If
333
vbcolor = InputBox("请指定变换的颜色(输入代码即可,默认红色):" & Chr(10) & "0(黑色)" & Chr(10) & "1(红色)" & Chr(10) & "2(绿色)" _
& Chr(10) & "3(黄色)" & Chr(10) & "4(蓝色)" & Chr(10) & "5(品红)" & Chr(10) & "6(青色、蓝绿色)" & Chr(10) & "7(白色)", "指定颜色", 1)
If vbcolor = "" Then
    YorN3 = MsgBox("未指定变换的颜色,是否重新指定?", vbYesNo)
    If YorN3 = vbNo Then
        MsgBox ("程序即将结束")
        Exit Sub
    Else
        GoTo 333
    End If
ElseIf IsNumeric(vbcolor) = False Or CDbl(vbcolor) > 7 Or CDbl(vbcolor) < 0 Or Int(vbcolor) <> CDbl(vbcolor) Then
    YorN3_1 = MsgBox("指定的颜色代码有误(请输入0-7的整数)是否重新指定?", vbYesNo)
    If YorN3_1 = vbNo Then
        MsgBox ("程序即将结束")
        Exit Sub
    Else
        GoTo 333
    End If
End If
arrcolor = Array(vbBlack, vbRed, vbGreen, vbYellow, vbBlue, vbMagenta, vbCyan, vbWhite)
For Each Rng In Selection
    T = InStr(Rng.Value, CColor)
    If T = 0 Then
    Else
        Rng.Characters(Start:=T, Length:=Len(CColor)).Font.Color = arrcolor(vbcolor)
    End If
Next Rng
End Sub

这个先选中相应的范围,然后运行名字为“变色”的宏即可。附件中的文件是写好宏的,供参考(注:这个我之前写的一个,所以里边有两个宏,你选好范围后运行那个名字为“变色”的宏即可,运行时可能需要修改宏安全性,具体方法百度一下excel宏安全性修改即可)

追问
所用的是excel2007  条件格式后所有的包含字的这一行全是红色全都会变颜色,但只需要个别词汇变颜色
追答
附件中就是写好宏的文件,可以实现指定的文字变色并可以选择变的颜色,如有问题可可以加企鹅,710903007加的时候注明下即可
ExcelPower
2015-09-16 · 专业Excel公式图表数据分析VBA
ExcelPower
采纳数:4495 获赞数:11885

向TA提问 私信TA
展开全部

附件 为选中 即变色,  宏触发事件

'Excel 内右键点 工作表 标签, 查看代码,如下代码复制进去,开启宏即可

Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range, i As Integer
For Each rng In Selection
    i = 1
    Do While InStr(i, rng, "家庭") > 0
        rng.Characters(InStr(i, rng, "家庭"), 2).Font.ColorIndex = 3
        i = InStr(i, rng, "家庭") + 2
    Loop
Next
End Sub


追问
所用的是excel2007  条件格式后所有的包含字的这一行全是红色全都会变颜色,但只需要个别词汇变颜色
追答

附件就是  个别词汇 变色, 你没看就 随便写个追问

代码也给你 修改OK了,  

你不明白 可  +1052974911@qq.com


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
穆德天
2015-09-16 · 超过26用户采纳过TA的回答
知道答主
回答量:108
采纳率:100%
帮助的人:55.5万
展开全部

选中》》条件格式》》选中包含以下内容(第二项)》》设置包含内容为“家庭”》》设置格式》》确定完成

追问
所用的是excel2007  条件格式后所有的包含字的这一行全是红色全都会变颜色,但只需要个别词汇变颜色
追答
条件格式没办法把单元格内容拆分识别,确实会全部成为红色,如果是个别标红得用VBA了,楼下写的应该就是你要的,你可以保存一下代码,然后要用的时候运行一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
舒缓又勤快的小繁花03
2015-09-16 · 超过15用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:19.9万
展开全部
条件格式,选择包含文本,输入 家庭, 选择 红色即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式