【条件分岐】空セルかどうかを判定する

Excel VBA

VBAでマクロを作ろうとすると,『セルに値が入っているか』つまり,『空のセルか否か』を判定したいときが度々あります.

空白セルの判定

空白セルの判定方法はいくつかありますが,以下のように書くのが一番簡単です.

If Cells(1, i) = "" Then
    ''ここに空白の場合の操作を書く

『””』が空白を意味します.

例題

以下のプログラムは,A1~E1の5つのセルのうち,空白セルの数を数え,F1セルに書きこみます.

Sub 空白セルを取得選択する()
    Cells(1, 6).Value = 0
    For i = 1 To 5
    If Cells(1, i) = "" Then
        Cells(1, 6).Value = Cells(1, 6).Value + 1
    End If
    Next
End Sub

実行結果

田中伊藤事務2

空白は2つなので,F1セルに2が書き込まれました.

同様に,2次元の表に対しても,以下のように空白の数を数えることができます.

8行5列の表の空白セルの数をカウントし,F9セルに書きこむプログラム

Sub 空白セルを取得選択する()
    Cells(9, 6).Value = 0
    For j = 1 To 5
        For i = 1 To 8
        If Cells(i, j) = "" Then
            Cells(9, 6).Value = Cells(9, 6).Value + 1
        End If
        Next
    Next
End Sub

実行結果

10203
10101010
10101010
3324
1010101010
1010101010
10105103
1010101010
6

以下は,空白があったら,そこを「空白」という文字で埋めるプログラムです.

Sub 空白セルに空白を入れる()
    For j = 1 To 5
        For i = 1 To 8
        If Cells(i, j) = "" Then
            Cells(i, j) = "空白"
        End If
        Next
    Next
End Sub

実行結果

10空白20空白3
10空白101010
101010空白10
空白33空白24
1010101010
1010101010
10105103
1010101010

このように,空白セルを検索することができれば,やれることが増えます.

コメント

タイトルとURLをコピーしました