Excel Macro VBA | 値が入力されていないCellを判別し、一つ上の行の同じColumnから値をCopy

IT Computer Work IT
IT Computer Work

Excel Macro VBAの備忘録。
特定Sheetに対して、Data入力済みの行のうち、値が入力されていないCellを自動判別し、一つ上の行の同じColumnから値を自動Copyし入力する。

Sub CheckNullCell()

Dim TargetSheet As Worksheet
Set TargetSheet = Worksheets("deals")
' 上記の場合は、dealsという名前のSheetのみに対して処理するために、Sheet名を

Dim CountRow As Long
Dim CountColumn As Long
Dim MaxRow As Long

MaxRow = TargetSheet.Cells(Rows.Count, 6).End(xlUp).Row
' ここでは6番目のColumnを基準にして、全行数がいくつあるか確認。

CountRow = 1
Do While CountRow <= MaxRow
    CountColumn = 1
    If TargetSheet.Cells(CountRow, CountColumn).Value = "" Then
        Do While CountColumn <= 3
            If TargetSheet.Cells(CountRow, CountColumn).Value = "" Then
                TargetSheet.Cells(CountRow, CountColumn).Value = TargetSheet.Cells(CountRow - 1, CountColumn).Value
                CountColumn = CountColumn + 1
            End If
        ' 上記の場合は3番目のColumnまでチェックし、値がNullであれば一つ上の行の同じColumnの値をCopy。
        Loop
    End If
    CountRow = CountRow + 1
Loop

End Sub

コメント