VBAで特定の行に空白があった場合、セルを黄色にするコード

D行より右のセルを対象に、10行目より下のセルで空白があった場合、
セルを黄色にするVBAのマクロです。

Sub FillEmptyCellsInYellow()
    Dim ws As Worksheet
    Dim cell As Range
    Dim lastColumn As Long
    Dim row As Long
    Dim lastRow As Long

    ' シートを設定
    Set ws = ThisWorkbook.Sheets("シート名")

    ' 10行目の最後の列を取得
    lastColumn = ws.Cells(10, ws.Columns.Count).End(xlToLeft).Column

    ' B列に値がある最後の行を取得
    lastRow = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row

    ' B列に値がある行に対して、D列から最後の列までループ
    For row = 11 To lastRow
        If ws.Cells(row, 2).Value <> "" Then
            For i = 4 To lastColumn
                Set cell = ws.Cells(row, i)
                ' セルが空白の場合、黄色で塗りつぶし
                If IsEmpty(cell.Value) Or cell.Value = "" Then
                    cell.Interior.Color = vbYellow
                End If
            Next i
        End If
    Next row
End Sub


この記事が気に入ったらサポートをしてみませんか?