2017-08-30 308 views
0

对不起,我对此感到陌生。请原谅任何无知。如何在Microsoft 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 

当我尝试这是犯规影响我的表中的字符。

感谢您的帮助。

+0

您的值是硬编码还是公式的结果?这不适用于公式。 –

+0

值很难 - 我自己打字。 –

+0

这些值有多长?我不认为这适用于长度超过255个字符的文字。 –

回答

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 

参考老答案:

您可以创建其颜色基于包含在特定文本的单元格显示规则细胞。

选择要格式化

首页 - >条件formatting->新规则>格式只包含细胞的细胞。

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

'Format ...'按钮来更改颜色填充

+0

感谢您的快速响应。我正在使用Excel '10这些方向仍然有效吗?我试图跟着他们,但当我点击条件格式,然后尝试查找颜色比例时,我迷路了。 –

+0

哦,我很抱歉,我跟着方向..过了一天。 –

+0

我可能没有很好地解释我的问题。每个单元格都有自己的独特字符集,范围从0-9 A-Z(包括小写字母)。我想找到位于每个单元格中的所有“A”,并将它们变成红色。然后我想找到所有的“B”并改变他们不同的颜色。如此等等,直到所有角色都被覆盖。再次感谢。 –