更改单元格范围中特定字符的字体颜色 [英] Change font color for specific char in a cell range

查看:435
本文介绍了更改单元格范围中特定字符的字体颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想更改单元格范围内特定字符的字体颜色。我想出了如何做到这一点的单个单元格(代码附加),但我不知道如何做到一个全范围的单元格; B8:F12。任何人都可以帮忙?



谢谢!

  Private Sub Worksheet_Change Target As Range)

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

SearchString = Range(B8)。
FindChar = Chr(182)

For i = 1 To Len(SearchString)
如果Mid(SearchString,i,1)= FindChar then
Range B8)。字符(i,1).Font.Color = RGB(221,221,221)
结束如果
下一个i

结束子


解决方案

  Sub ChangeColorIfMatchesCondition )
Dim i As Integer
Dim FindChar As String
Dim SearchString As String

SearchString = cell.Value
FindChar = Chr(182)

For i = 1 To Len(SearchString)
如果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)

对于targetRange.Cells中的每个单元格
ChangeColorIfMatchesCondition单元格
next
End Sub

调用 LoopAndChangeColorForThisRange 并按照您的预期看它是否有效。


I would like to change the font color for a specific character within a range of cells. I figured out how to do this for a single cell (code attached), but I can't figure out how to do it over a full range of cells; B8: F12. Can anyone help?

thanks!

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

解决方案

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

Make a call to LoopAndChangeColorForThisRange and see if it works, as you'd expect.

这篇关于更改单元格范围中特定字符的字体颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆