我目前有一个工作表,它查看 B 列并将字符串与 Z 列中的字符串匹配,然后将匹配字符串的颜色更改为 B 列中的 font.color。问题是 B 列由条件格式着色,因此代码无法识别。当条件为真时,我需要能够在 B 列中更改实际的字体颜色。此外,代码需要递增,直到到达工作表的最后一行。
这是我设置的当前条件格式
块引用
=ISNUMBER(SEARCH("Story",Template!D5))=TRUE 'format dark blue
=ISNUMBER(SEARCH("Requirement",Template!D5))=TRUE 'format green
=ISNUMBER(SEARCH("EPIC",Template!D5))=TRUE 'format red
=ISNUMBER(SEARCH("Test",Template!D5))=TRUE 'format teal
=ISNUMBER(SEARCH("New Feature",Template!D5))=TRUE 'format orange
=ISNUMBER(SEARCH("Theme",Template!D5))=TRUE 'format gray
块引用
Sub Main()
Call NoLinks
Call SetCellWarning
Call colortext
End Sub
Sub NoLinks()
ActiveSheet.Hyperlinks.Delete
End Sub
Sub SetCellWarning()
Dim iLastRow As Long
Dim cel As Range, rSetColumn As Range
iLastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).row
Set rSetColumn = Range(Cells(5, 26), Cells(iLastRow, 26)) ' Column "Z"...
For Each cel In rSetColumn
If cel.Value = "" Then
With cel
cel.Value = "NOT MAPPED"
End With
End If
Next cel
End Sub
***'The colortext runs but does not update unless the font color is manually updated***
Sub colortext()
start_row = 5
key_col = 2
linked_col = 26
i = start_row 'start on row one
Do While Not IsEmpty(Cells(i, key_col)) 'Do until empty cell
o = start_row 'start with row one for second column
Do While Not IsEmpty(Cells(o, linked_col)) 'Do until empty cell
If Not InStr(1, Cells(o, linked_col), Cells(i, key_col)) = 0 Then 'if cell contents found in cell
With Cells(o, linked_col).Characters(Start:=InStr(1, Cells(o, linked_col), Cells(i, key_col)), Length:=Len(Cells(i, key_col))).Font
.Color = Cells(i, key_col).Font.Color 'change color of this part of the cell
End With
End If
o = o + 1 'increment the cell in second column
Loop
i = i + 1 'increment the cell in the first column
Loop
End Sub
块引用