1

君の力が必要。私のスプレッドシートには、データセット全体のセルの色がピンクであるかどうかを確認するためにアクティブ化されたときにテストするマクロがあります。見つかった場合、最初のセルはピンク色でマークされ、その特定の行のどこかにピンク色のセルがあるという事実を警告します。

ピンクのセルに注目したら、もう一度透明にして次のセルに進みます。

以下の作業コードに追加する必要があるのは、ピンクがないかどうかを確認するテストです..つまり..

セル A9 がピンクの場合、行 9 のどこかにピンクがあることを意味します。A9を透明にしない場合は、まだそこにあるかどうかを確認する必要があります。

以下のコードは、A9 ピンクをマークするものです (上記の例のように.

コード:

Sub pink()
Dim rcell As Range
For Each rcell In Range(Cells(1, 1), Cells(1, ActiveSheet.UsedRange.Columns.Count))
    If rcell.Interior.ColorIndex = 38 Then
        Cells(ActiveSheet.UsedRange.Rows.Count, rcell.Column).Select
            Do Until ActiveCell.Interior.ColorIndex = rcell.Interior.ColorIndex
                ActiveCell.Offset(-1).Select
            Loop
            If ActiveCell.Row = rcell.Row Then rcell.Interior.ColorIndex = xlNone
    End If
Next rcell
For Each rcell In ActiveSheet.UsedRange
    If rcell.Interior.ColorIndex = 38 Then
        Cells(rcell.Row, 1).Interior.ColorIndex = 38
    End If
Next rcell
End Sub

シナリオを実行するには:

行 1 は見出しで除外され、列 A はピンク色でマークされた列です。

B8 はピンク色なので、マクロが実行されると、A8 がピンク色になり、D14 がピンク色になり、したがって A14 がピンク色になり、A18 がピンク色になりますが、行 18 にピンク色がなくなるため、A18 が透明になります。

助言がありますか ?

4

1 に答える 1