如何在Microsoft Excel中更改特定字符的颜色

时间:2017-08-30 23:10:15

标签: excel

对不起,我是新来的。请原谅任何无知。

我有一个表格,其中包含B,D,F和H列中的几个随机字符。

这些字符的范围为0-9和A-Z(大写和小写)。

我想在每个列中找到所有相似的字符并更改它们的颜色。我想为每个可用的字符重复这个。有人可以帮助我吗?

我之前发现this link非常接近我要做的事情。

这是受访者表示可行的代码。

Sub Test1()
Application.ScreenUpdating = False
Dim cell As Range, i As Integer, cellVal As String
With Columns(1)
.SpecialCells(2, 3).Font.ColorIndex = 1
For Each cell In .SpecialCells(2, 3)
cellVal = cell.Text
For i = Len(cellVal) To 2 Step -1
If cell.Characters(i, 1).Text = "s" Then cell.Characters(i, 
1).Font.ColorIndex = 3
Next i
Next cell
End With
Application.ScreenUpdating = True
End Sub

当我尝试这不会影响我表中的字符。

感谢您的所有帮助。

1 个答案:

答案 0 :(得分:0)

上面的代码只会将第一个字符后第一列中的值更改为红色(如果是“s”)。 我改变了上面的代码,我认为这更符合你的要求:

Sub ChangeCellCharacterColors()
Dim cell As Range, i As Integer, cellVal As String
For Each cell In Worksheets("Sheet1").Range("A1:D10").Cells 'Enter sheet name and range of cells to iterate through
cellVal = cell.Text
    For i = 1 To Len(cellVal)
        If cell.Characters(i, 1).Text = "B" Then cell.Characters(i, 1).Font.ColorIndex = 4 'Identify character "B" and color index 4(green)
        If cell.Characters(i, 1).Text = "D" Then cell.Characters(i, 1).Font.ColorIndex = 2
        If cell.Characters(i, 1).Text = "F" Then cell.Characters(i, 1).Font.ColorIndex = 3
        If cell.Characters(i, 1).Text = "H" Then cell.Characters(i, 1).Font.ColorIndex = 5
    Next i
Next cell
End Sub

旧答案供参考:

您可以根据单元格中包含的特定文本为单元格显示的颜色创建规则。

选择要格式化的单元格

主页 - >条件格式 - >新规则 - >仅格式化包含的单元格。

然后将“单元格值”更改为“特定文本”。

'格式...'按钮更改颜色填充