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

时间:2013-10-10 14:01:25

标签: vba colors fonts

我正在研究一个遍历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

1 个答案:

答案 0 :(得分: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

注意dData的范围也仅限于Sheet1

在我的计算机上,“white”是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