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

私のコンピューターでは、「白」は2010年のExcelで機能する長い値で16777215あり、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 に答える