Excel VBA-单格内,按文字颜色处理文字

Posted 笑虾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel VBA-单格内,按文字颜色处理文字相关的知识,希望对你有一定的参考价值。

处理指定区域A2:E115

Sub 清除单格内部分文字()
    On Error Resume Next ' 忽略报错
    
    Dim r As Range
    Dim count As Integer
    Dim c As Characters
    Dim str As String
    
    For Each r In Range("A2:E115") '单元格范围 A2:E115
        count = r.Characters.count
        For i = 1 To count
            '颜色非 0 直接去掉
            If r.Characters(i, 1).Font.Color <> 0 Then
            	' 直接用空字符替换掉
                'r.Characters(i, 1).Text = ""
                ' 换成红色#号,方便检查一下,然后直接用替换功能替换掉就行了。
                r.Characters(i, 1).Text = "#"
                r.Characters(i, 1).Font.Color = RGB(255, 0, 0)

            End If
        Next
    Next
End Sub

处理选中区域

Sub 清除选中区域中部分文字()
    On Error Resume Next ' 忽略报错
    For Each c In Selection.Cells
        count = c.Characters.count
        
        For i = 1 To count
            '颜色非 0 直接去掉
            If c.Characters(i, 1).Font.Color <> 0 Then '如果有需要也可以判断 Size 
                ' 直接用空字符替换掉
                'c.Characters(i, 1).Text = ""
                ' 换成红色#号,方便检查一下,然后直接用替换功能替换掉就行了。
                c.Characters(i, 1).Text = "#"
                c.Characters(i, 1).Font.Color = RGB(255, 0, 0)

            End If
        Next

    Next
End Sub

参考资料

Docs 》Office VBA 参考 》Excel 》对象模型 》Range 对象 》属性 》Characters

以上是关于Excel VBA-单格内,按文字颜色处理文字的主要内容,如果未能解决你的问题,请参考以下文章

WPS表格 JSA-单格内,按文字颜色处理文字

批量修改Excel单元格内某些文字的颜色

vba excel 去掉单元格中隐藏着的双引号或单引号 (多列含有,希望得到一次性清楚)

如何让一个单元格内容显示两行文字呢?

在EXCEL中,如何使用VBA设置单元格内指定字符串格式

电子表格文字怎么换行?