【VBA】指定範囲内の複数の空白セルのみに対し、1コードで同じ値を設定する

複数の空白セルに対し、同じ値を
1コードで設定できます!

1コードで設定できるため、
 ・ループ処理で各セルを確認し、空白がどうかを判定する
といったやり方は不要です!

ループ処理が不要のため
処理の高速化が期待できます!

SpecialCells(xlCellTypeBlanks)」を使用して、
空白行のみに値を設定します!

PR

VBAコード

例えば
 ・シート「sample」のセル「C3~H5」のいくつかのセルが空白となっている
場合に、

シート「sample」のセル「C3~H5」のいくつかのセルは空白
シート「sample」のセル「C3~H5」のいくつかのセルは空白

空白セルのみに対し「-」を設定するために、以下のコードを実行します。

Option Explicit

Sub sample()

    Dim targetRange As Range
    
    Set targetRange = Worksheets("sample").Range("C3:H5")
    
    '空白有無の確認
    If WorksheetFunction.CountBlank(targetRange) <> 0 Then
        '空白セルのみに対し値を設定
        targetRange.SpecialCells(xlCellTypeBlanks) = "-"
    End If
    
End Sub

Range(“XXX”).SpecialCells(xlCellTypeBlanks)」により、指定したセル範囲内の「空白セルのみ」を対象にできます。

指定したセル範囲内に空白セルが存在しない状態で「Range(“XXX”).SpecialCells(xlCellTypeBlanks)」を実行するとエラーとなるため、実行前に空白有無を確認しています。
※上記では「WorksheetFunction.CountBlank」で確認しています。

PR

実行結果

空白セルのみに対し、1コードで「-」を設定できました。

空白セルのみに対し1コードで「-」を設定できた
空白セルのみに対し1コードで「-」を設定できた
PR

参考

上記で使用した以下の詳細は、公式サイトをご確認ください。

●「WorksheetFunction.CountBlank(XXX)」
 →空白セルの数を取得します。


●「Range(“XXX”).SpecialCells(XXX)」
 →指定したセル範囲内の「特定の種類のセル」を取得します。