2

我正在研究一个循环遍历范围 dData 并识别哪些单元格具有白色字体颜色的宏。然后它会更改与 dData 白色相邻的任何单元格的字体颜色。下面的代码是我到目前为止所拥有的。它还不起作用,但是,我在正确的轨道上吗?

谢谢!

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
4

1 回答 1

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

在我的电脑上,“白色”是一个长值,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
于 2013-10-10T14:22:15.143 回答