日付の欄に空白がある場合の処理②

Pocket

日付の欄に空白がある場合の処理の追加の解説です。

B列の動きについて解説をします。
コードです。

If Cells(a, 2).Value = “” Then
 ※Cells(a, 2).Value = Cells(a – 1, 2).Value
End If

これもaに数字を当てはめていけば難しくはありません。

a=3
B3=1で空白ではないので、条件に当てはまらず、※の処理は
行わず、a=a+1 へ
a=4
B4は空白なので、※の処理へ
Cells(a, 2).Value = Cells(a – 1, 2).Value → B4=B3
B4の値は1になります。
a=5
B5は空白なので、※の処理へ
Cells(a, 2).Value = Cells(a – 1, 2).Value → B5=B4
B4はVBA実行前は空白ですが、a=4のときにB4に1を代入したので
B5の値は1になります。
a=6
B6=2で空白ではないので、条件に当てはまらず、※の処理は
行わず、a=a+1 へ
a=7
B7は空白なので、※の処理へ
Cells(a, 2).Value = Cells(a – 1, 2).Value → B7=B6
B7の値は2になります。
a=8
B8は空白なので、※の処理へ
Cells(a, 2).Value = Cells(a – 1, 2).Value → B8=B7
B7はVBA実行前は空白ですが、a=7のときにB7に2を代入したので
B8の値は2になります。
a=9
B9=3で空白ではないので、条件に当てはまらず、※の処理は
行わず、a=a+1 へ
a=10
B10=4で空白ではないので、条件に当てはまらず、※の処理は
行わず、a=a+1 へ
a=11
B11は空白なので、※の処理へ
Cells(a, 2).Value = Cells(a – 1, 2).Value → B11=B10
B11の値は4になります。
a=12
B12=5で空白ではないので、条件に当てはまらず、※の処理は
行わず、a=a+1 へ

このような流れになります。慣れないうちは変数がどう変化している
のか掴みにくいの、ひとつずつ数えていくのも理解を進める有効な
方法です。