对不起,我是新来的。请原谅任何无知。
我有一个表格,其中包含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)
上面的代码只会将第一个字符后第一列中的值更改为红色(如果是“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
旧答案供参考:
您可以根据单元格中包含的特定文本为单元格显示的颜色创建规则。
选择要格式化的单元格
主页 - >条件格式 - >新规则 - >仅格式化包含的单元格。
然后将“单元格值”更改为“特定文本”。
'格式...'按钮更改颜色填充