Excel

セル結合の空白セルの値をVBAを使って取得する方法

セル結合の空白セルの値を数式を使って取得する方法のVBA版です。

A列のセルの結合を解除すると、一番上の行のみ値が設定されています。

結合解除後

C列に値を書き出します。

値書き出し

IsEmptyで判定する方法

A列の値が空白か判定し、空白の場合はA列のひとつ上のセルの値を設定します。空白でなかった場合は、A列のセルの値を設定します。

Sub sumple()
 Dim i As Long
     For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
        If IsEmpty(Cells(i, 1).Value) = True Then
            Cells(i, 3) = Cells(i - 1, 3)
         Else
            Cells(i, 3) = Cells(i, 1)
         End If
    Next i
End Sub

valueプロパティを省略しています。

VBAの場合、処理をいつまで続けるか記述します。For~Next文で2行目~2列目の最終行まで処理を続けます。

For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row

処理

next i

””で判定する方法

Sub sumple2()
 Dim i As Long 
    For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
        If Cells(i, 1) = "" Then
            Cells(i, 3) = Cells(i - 1, 3)
         Else
            Cells(i, 3) = Cells(i, 1)
         End If
    Next i
End Sub

valueプロパティを省略しています。

-Excel

© 2021 オフィスのQ&A