跳到主要内容

使用 VBA 设置字符格式

示例一:设置单元格文本字符格式

Sub TextFormat()
    With Range("A1")
    
        ' 清除单元格内容和格式
        .Clear
        
        ' 写入指定的文本字符串
        .Value = "Y=X2+1"
        
        ' 将第4个字符设置为上标
        .Characters(4, 1).Font.Superscript = True
        
        ' 将第1个字符设置为指定颜色
        .Characters(1, 1).Font.ColorIndex = 3
        
        ' 设置单元格字体的大小
        .Font.Size = 14
        
    End With
End Sub

代码解析

本示例代码使用了 Range 对象的 Characters 属性来操作指定的字符。Characters 属性返回一个 Characters 对象,代表对象文字的字符区域。一般可以使用 Characters 对象设置文本字符串中字符的格式,常用于单元格及批注文本和图形文本等相关对象的文本字符设置相关格式。

Characters 属性的语法格式如下:

Characters (Start, Length)

参数 Start 是可选的,代表要返回的第 1 个字符位置。如果该参数设置为 1,或者省略该参数,则 Characters 属性返回一个以第 1 个字符为起始位置的字符片段。

参数 Length 是可选的,代表要返回的字符数目。如果省略该参数,则 Characters 属性返回字符串的后半部分(即 Start 字符之后的所有字符)。

本示例代码运行后最终效果如下:

Y=X2+1

示例二:设置图形对象文本字符格式

Sub CommentFormat()
    
    '判断A2单元格是否有批注
    If Range("A2").Comment Is Nothing Then
        
        '如果不存在批注,则在A2单元格添加空批注
        Range("A2").AddComment Text:=""
        
    End If
    
    With Range("A2").Comment
        
        '指定批注中的文本
        .Text Text:="Microsoft Excel 2021"
        
        '将文本框对象的第17个字符开始的所有字符设置指定颜色
        .Shape.TextFrame.Characters(17).Font.ColorIndex = 3
        
    End With
End Sub

代码解析

使用 Shape 对象的 TextFrame 属性可返回文本框对象,而 Characters 属性返回其中的文本字符。Characters(17) 省略了第 2 个参数 Length,因此返回从第 17 个字符开始到结尾的所有字符串。

本示例代码运行后最终效果如下:

设置图形对象文本字符格式
设置图形对象文本字符格式

评论

您的电子邮件地址不会显示出来。*号为必填项。