excel - VBA - 宏记录器更改单元格颜色未按预期工作
问题描述
我使用宏记录器将单元格中文本的某些部分更改为与“隐藏”该部分的背景颜色相同的颜色。例如,对于“Text Here 1”,“1”将更改为与背景相同的颜色,因此用户只能出于视觉目的看到“Text Here”。但是,重用此宏会产生意想不到的颜色。单元格背景颜色为 RGB (226, 239, 218)
宏运行前:
预期结果:
意外结果:
Sub Macro1()
Range("D6").Select
ActiveCell.FormulaR1C1 = "Text Here 1"
With ActiveCell.Characters(start:=1, Length:=10).Font
.Name = "Calibri"
.FontStyle = "Bold"
.Size = 20
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
With ActiveCell.Characters(start:=11, Length:=1).Font
.Name = "Calibri"
.FontStyle = "Bold"
.Size = 20
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorAccent6
.TintAndShade = 0.799981688894314
.ThemeFont = xlThemeFontMinor
End With
End Sub
从宏记录器中删除的编辑代码:
Sub Macro2()
Set ws = ThisWorkbook.Worksheets("Sheet1")
With ws.Cells(6, 4).Characters(start:=11, Length:=1).Font
.ThemeColor = xlThemeColorAccent6
.TintAndShade = 0.799981688894314
.ThemeFont = xlThemeFontMinor
End With
End Sub
解决方案
不知道为什么会这样,但你总是可以摆脱那些已经录制但并不真正需要的东西。
With Range("D6")
.Characters(Start:=11, Length:=1).Font.Color = .Interior.Color
End With
推荐阅读
- javascript - Javascript:iOS上子页面之间的淡入淡出过渡
- java - 在 jdk-15.0.2 中安装 Bouncy Castle Provider
- javascript - 后退按钮的确认框 - ReactJs
- python - 名称不存在错误sqlite3数据库使用python
- python - 当通过消息请求将其作为输入时,正确解码 json 文件
- python - 函数当前更改每个字符但需要更改python3中的每个单词
- java - 在 EditText 中禁用@char
- go - 错误的输出golang,我的go代码有什么问题?
- r - R box-cox 变换到对数变换
- ruby-on-rails - 如何在 Mac 上运行没有 nokogiri“无法加载此类文件 - nokogiri/nokogiri (LoadError)”错误的“rails 控制台”?