我只想使用VBA在工作表文本框中为某个特定字符添加下划线。它应该非常简单,我可以毫无问题地使用Bold和Italic。
我有以下子
Sub ew()
Dim txt1 As Shape
Set txt1 = Sheet1.Shapes("txt_1")
txt1.TextFrame.Characters.Text = "Bold and Underline this"
txt1.TextFrame.Characters.Font.Bold = True
txt1.TextFrame.Characters.Font.Italic = True
txt1.TextFrame.Characters.Font.Underline = True
End Sub
代码在最后一行失败,这非常奇怪,因为它适用于前两行。错误(1004)表示类似"无法定义Font属性的下划线功能"。
要重新创建问题,请将我的子文件转到新的Excel文档,然后创建一个名为" txt_1"的文本框,这就是运行它所需的全部内容。
如果有人知道它失败的原因,请帮忙!
答案 0 :(得分:5)
您需要定义下划线样式。走你的最后一行
txt1.TextFrame.Characters.Font.Underline = xlUnderlineStyleSingle
答案 1 :(得分:3)
使用TextFrame2
作为下划线
txt1.TextFrame2.TextRange.Font.UnderlineStyle = msoUnderlineSingleLine