作者:绿色风
分类:
时间:2022-08-17
浏览:225
楼主 rongjun |
Q:如何批量设置数据中关键字的字体颜色?(比如:将B2:B7数据中的“Excel”设置为红色字体) A:操作步骤如下: 步骤1 将B2:B7中的“Excel”替换为“<FONT COLOR=RED>Excel</FONT>”; 步骤2 以A2:A7为辅助列,填充“<table>”; 步骤3 选定A2:B7区域,ctrl+C+C调出剪切板,在B10单元格的编辑栏内粘贴剪切板内容; 步骤4 在编辑栏内复制B10单元格的内容,退出编辑状态,将内容粘贴到B10单元格; 步骤5 定位空值,删除——下方单元格上移。
如何批量设置数据中关键字的字体颜色?.rar |
2楼 棉花糖 |
编了一个vba,同样实现效果。
- Sub replacespecialcharacters()
- Dim rng As Range, cell As Range
- Dim Reptxt
- Dim FirstAddress As String
- Dim TxtLen, i
-
- '选择查找的范围和替换的内容,不符合要求就退出
- On Error Resume Next
- Set rng = Application.InputBox(prompt:="选取替换的范围", Title:="替换", Type:=8)
- If rng Is Nothing Then Exit Sub
- Reptxt = InputBox(prompt:="输入要替换的字符", Title:="替换")
- If Reptxt = "" Then Exit Sub
- On Error GoTo 0
-
- TxtLen = Len(Reptxt)
- i = 1
-
- '查找到第一个符合条件的单元格,没有就退出
- Set cell = rng.Find(What:=Reptxt, _
- After:=rng.Range("a1").Offset(rng.Rows.Count - 1, rng.Columns.Count - 1), _
- LookIn:=xlValues, _
- LookAt:=xlPart, _
- SearchOrder:=xlByRows, _
- SearchDirection:=xlNext, _
- MatchCase:=False)
- If Not cell Is Nothing Then
- FirstAddress = cell.Address
- Else
- Exit Sub
- End If
-
- Do '查找每个符号单元格
- Do '查找单元格内替换字符内容次数,逐个替换
- cell.Characters(Start:=InStr(i, cell.Value, Reptxt, vbTextCompare), Length:=TxtLen). _
- Font.Color = RGB(255, 0, 0)
- i = InStr(InStr(i, cell.Value, Reptxt, vbTextCompare) + TxtLen + 1, _
- cell.Value, Reptxt, vbTextCompare)
- Loop While i <> 0
- i = 1
- Set cell = rng.FindNext(cell)
- Loop While cell.Address <> FirstAddress '避免查找死循环
- End Sub
附件: 如何批量设置数据中关键字的字体颜色?.rar |
3楼 snowangle007 |
感谢版主的解答,又学到了一招。 |
4楼 paul001 |
“<FONT COLOR=RED>Excel</FONT>”; 这个自己不知道怎么才能写出来 |
5楼 安娜蜜 |
赶紧收藏~留着以后用~谢谢啦! |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一