【问题标题】:Change font color for specific char in a cell range更改单元格范围内特定字符的字体颜色
【发布时间】:2011-10-13 20:19:33
【问题描述】:

我想更改单元格范围内特定字符的字体颜色。我想出了如何为单个单元格执行此操作(附加代码),但我无法弄清楚如何在整个单元格范围内执行此操作; B8:F12。有人可以帮忙吗?

谢谢!

Private Sub Worksheet_Change(ByVal Target As Range)

Dim i As Integer
Dim FindChar As String
Dim SearchString As String

SearchString = Range("B8").Value
FindChar = Chr(182)

For i = 1 To Len(SearchString)
    If Mid(SearchString, i, 1) = FindChar Then
        Range("B8").Characters(i, 1).Font.Color = RGB(221, 221, 221)
    End If
Next i

End Sub

【问题讨论】:

    标签: excel vba character


    【解决方案1】:
    Sub ChangeColorIfMatchesCondition(byval cell as Range)
    Dim i As Integer
    Dim FindChar As String
    Dim SearchString As String
    
    SearchString = cell.Value
    FindChar = Chr(182)
    
    For i = 1 To Len(SearchString)
        If Mid(SearchString, i, 1) = FindChar Then
            cell.Characters(i, 1).Font.Color = RGB(221, 221, 221)
        End If
    Next i
    End Sub
    
    Sub LoopAndChangeColorForThisRange()
    dim cell
    
    dim targetRange as Range
    set targetRange = me.Range("B8:F12")
    
    for each cell in targetRange.Cells
       ChangeColorIfMatchesCondition cell
    next
    End Sub
    

    致电LoopAndChangeColorForThisRange,看看它是否如您所愿。

    【讨论】:

    • 完美运行!感谢您的快速回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    • 2011-12-24
    • 2016-04-20
    • 1970-01-01
    • 2013-10-26
    • 2011-09-23
    相关资源
    最近更新 更多