我想在单元格中的现有文本后插入一个红色勾号(或向下箭头)。
如何插入字符并保留单元格中预先存在的字符格式?我只在这些单元格内的某些单词上加粗、下划线或着色。
通常建议的代码将原始单元格内容的所有自定义字符格式恢复为单元格字体格式。
ActiveCell.FormulaR1C1 = ActiveCell & " P "
最佳答案
已编辑:使用ActiveCell.Value
或ActiveCell.Formula
确实会改变您之前拥有的任何特殊格式(我最初的帖子忽略了这一点) .但是,正如您的研究间接显示的那样,您可以使用 character.insert 更改文本,但您需要知道插入位置的字符长度,以避免更改您的自定义格式。
试试这个而不是值或公式设置。
ActiveCell.Characters(ActiveCell.Characters.Count + 1, 1).Insert (" P ")
然后您继续使用类似的方法更新倒数第二个字符(这实际上是在最后一个字符之前编辑 1 个字符)。
With ActiveCell.Characters(ActiveCell.Characters.Count -1, Length:=1).Font
.Name = "Wingdings 2"
.FontStyle = "Bold"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 1
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
关于excel - 在文本后添加格式化符号,保留现有文本的字符格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45261166/