Excel - VBA:根据adjecent单元格的文本颜色更改单元格的文本颜色

New*_*ker 2 fonts vba colors

我正在研究一个循环遍历范围dData的宏,并确定哪些单元格具有白色字体颜色.然后它会更改与dData white相邻的任何单元格的字体颜色.以下代码是我到目前为止的代码.它还没有用,但我是否走在正确的轨道上?

谢谢!

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim dData As Range
Dim Cell As Range

Set dData = Sheets("Sheet1").Range("l2:l10000")

For Each Cell In dData
    If Cell.Font.Color = 2 Then
        Cell.Offset(0, -1).Font.Color = 2
    End If
Next Cell
End Sub
Run Code Online (Sandbox Code Playgroud)

Dav*_*ens 7

这似乎对我有用.

Sub Test()
Dim dData As Range
Dim Cell As Range

Set dData = Sheets("Sheet1").Range("l2:l10000")

For Each Cell In dData.Cells
        If Cell.Font.Color = 16777215 Then
            Cell.offset(,1).Font.Color = 16777215
        End If
Next
End Sub
Run Code Online (Sandbox Code Playgroud)

请注意,范围dData仅限于Sheet1

在我的电脑上,"白色"是一个很长的价值,16777215它适用于我在2010 Excel中,我认为应该在2007年工作.在Excel 2003中,我不确定.

试试这个

Sub Sample()
    Dim dData As Range, aCell As Range

    Set dData = Sheets("Sheet1").Range("L2:L10000")

    For Each aCell In dData.Cells
        If aCell.Font.ColorIndex = 2 Then _
        aCell.Offset(, 1).Font.ColorIndex = 2
    Next
End Sub
Run Code Online (Sandbox Code Playgroud)