前言|职场实例
Excel的功能虽然很强大,但还是有一些难以解决的问题,比如说如何将下图表格中的部分文字标红呢?例如将A2:C4单元格中所有的字符“河北”两字,字体颜色设置为红色。
如果直接用Excel的“查找和替换”功能处理这个问题,就比较难办了,因为Excel的查找和替换功能只能查找和替换整个单元格的内容,而不能查找和替换单元格中的部分字符内容。选中A2:C4单元格数据区域,按下快捷键“Ctrl+H”,调出“查找和替换”的对话框。然后点击“选项”按钮,再点击“替换为”右边的“格式”按钮,设置“替换为”内容的格式,将字体颜色设置为红色。即替换为红色字体颜色的“河北”两字。最后点击“全部替换”,我们发现含有“河北”两字的整个单元格的内容全部变成了红色。所以这种方法是错误的,难以实现正确的效果。
首先将Excel中内容复制到Word文档中,如下图所示:
然后利用Word文档中的“查找和替换”功能来实现。先按下快捷键“Ctrl+H”打开“查找和替换”的对话框。在“替换为”中输入内容,这里同样输入的是“河北”;在替换中直接选择“更多”,点击“格式”,选择“字体”,将字体颜色设置为红色,即将查找出来的“河北”两字替换为红色字体颜色的“河北”两字。最后点击“全部替换”按钮,即可将A2:C4单元格中所有的字符“河北”两字,字体颜色设置为红色。
最后直接将Word文档中的内容复制到Excel表格中即可。如下图所示:
除了利用Word的方法作为间接转换,我们也可直接使用VBA代码进行批量替换字体颜色。下面小编来介绍一下具体的操作方法。右击点击名称为“公众号 Excel情报局”工作表名称标签,点击“查看代码”按钮,调出VBA代码编辑窗口,将下面的一段VBA代码复制粘贴进去,然后点击上方的“运行-运行子过程/用户窗体”按钮,这时候会弹出一个“宏”的提示对话框,我们在这个界面中,随意输入一个“宏名称”,本例中输入的是一个字母“A”,然后点击“创建”按钮。最后将VBA代码窗口全部关闭。回到Excel工作表主界面。
代码如下:
Private Sub CommandButton1_Click()
Cells.Font.ColorIndex = 1
End Sub
Print
Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range, i As Integer
Dim T As String
Dim C As Integer
For Each rng In Selection
T = "河北" 'T是要批量替换颜色的目标文字
C = 3 'C是颜色,通过设定不同的值,代表对应的颜色
i = 1
Do While InStr(i, rng, T) > 0
rng.Characters(InStr(i, rng, T), Len(T)).Font.ColorIndex = C
i = InStr(i, rng, T) + 1
Loop
Next
End Sub
最重要的一步来了,我们直接鼠标框选选中A2:C4单元格数据区域,我们发现选中的区域内,所有单元格中的“河北”两个字符的字体颜色就变为了红色。如下图所示:
这是我们需要查找替换字体颜色的字符,在使用该程序时只需要修改双引号中的内容即可。
这是我们需要替换的颜色代码。3代表红色,1代表黑色,2代表白色,4代表鲜绿色,5代表蓝色,6代表黄色,7代表粉红色,8代表青绿色,9代表深红色,10代表绿色等。
阅读完文章之后,希望小伙伴们在文章底部帮助小编[点赞]点亮[在看]并分享转发到[朋友圈],坚持持续分享的路上很辛苦,需要有你们的鼓励与支持!您也可以通过在文章底部[留言]的方式来反馈实际办公中遇到的Excel问题场景。