如何修改Excel Textbox中指定行的字体颜色
修改VBA文本框指定行文字颜色
直接使用以下修改后的代码即可实现需求:
Sub Macro1() '删除所有形状 For i = ActiveSheet.Shapes.Count To 1 Step -1 ActiveSheet.Shapes(i).Delete Next '添加文本框并设置格式 Dim txtBoxShape As Shape Set txtBoxShape = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, Left:=30, Width:=70, Top:=20, Height:=120) With txtBoxShape.TextFrame2 .TextRange.ParagraphFormat.Alignment = msoAlignCenter .TextRange.Font.Fill.ForeColor.RGB = vbBlack .TextRange.Text = "Stack" & vbNewLine & "Over" & vbNewLine & "Flow" & vbNewLine & "is" & vbNewLine & "the" & vbNewLine & "best." '将第二行文字设为红色 .TextRange.Paragraphs(2).Font.Fill.ForeColor.RGB = vbRed '将第五行文字设为蓝色 .TextRange.Paragraphs(5).Font.Fill.ForeColor.RGB = vbBlue End With End Sub
关键说明:
- 通过
TextRange.Paragraphs(索引)可以定位到文本框内的指定段落(每一个vbNewLine分隔的内容对应一个段落) vbRed、vbBlue是VBA内置颜色常量,也可以替换为自定义RGB值,比如RGB(255,0,0)(红色)、RGB(0,0,255)(蓝色)
预期效果:
文本框内文字居中对齐,各行颜色分别为:第一行黑色、第二行红色、第三行黑色、第四行黑色、第五行蓝色、第六行黑色
内容的提问来源于stack exchange,提问作者Kram Kramer
相关产品推荐
相关产品推荐

