VBA 代码 - 查找和替换单个值的格式

问题描述 投票:0回答:1

有人可以帮助查找和替换单个数字的格式吗,即单元格的值为“1,10,11,5”,我是否希望着色并更改值 11 的格式,并希望保留其他值完好无损。查找和替换确实有效,但会更改整个单元格的字体和大小,而不仅仅是“11”。

Range("I2:M14").Select
Selection.Replace What:="11,", Replacement:="11,", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=True
excel vba replace format find
1个回答
0
投票
  • 用格式替换 Excel 无法按您的预期工作。
  • 您必须找到每个单元格的关键字并更改其格式。
Option Explicit
Sub Demo()
    Dim c As Range, sTxt As String, iLoc As Long
    Const KEYWORD = ",11,"
    For Each c In Range("I2:M14")
        sTxt = c.Value
        If Len(sTxt) > 0 Then
            sTxt = "," & sTxt & ","
            iLoc = InStr(sTxt, KEYWORD)
            If iLoc > 0 Then
                c.Characters(iLoc, Len(KEYWORD) - 2).Font.Color = vbRed
            End If
        End If
    Next
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.