セル空白時に月を変更した時の累計使用日数VBA
お世話になります、エクセルVBA初心者の者です。
'*******************************************************************************
' セル変更した時のイベント
'*******************************************************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long, k As Long, myNum As Long
If Intersect(Target, Range("C1,B9:B39")) Is Nothing Or Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
With Target
If .Column = 3 Then
myNum = WorksheetFunction.Max(Range("B9:B39"))
myDate = Range("C1").Value
Range("A9:A39").ClearContents
If IsDate(.Value) Then
' ----------A列に日にちを入力----------
For i = 1 To 31
If Month(myDate + i - 1) = Month(.Value) Then
Cells(i + 8, "A").Value = Day(myDate + i - 1)
Else
Cells(i + 8, "A").Value = ""
End If
Next i
' ----------B列の空白条件----------
If Range("B39").Value = "" Or Range("B38").Value = "" Or Range("B37").Value = "" Or Range("B36").Value = "" Then
Range("B9:B39").ClearContents
Application.EnableEvents = True
End
End If
' ----------B列に連続値の入力----------
For i = 9 To 39
If Cells(i, "A").Value = "" Then
Cells(i, "B").Value = ""
Else
Cells(i, "B") = myNum + i - 8
End If
Next i
End If
Else
End With
Application.EnableEvents = True
End Sub
内容はC1には年月(2013年12月)を表示させています。
そして、B9~B39には累計使用日数を表示するVBAを組んでいます。
B9~B39間に適当な数字を入力すると、連続データの数字が入力されるようになります。
そして、C1セルの日付を変更しても連続データが継続して表示されるVBAです。
B39が空白表示の場合(小月ならB38で2月ならB36かB37)でC1セルの年月を変更した場合、連続データを表示させず空白セルを表示させるVBAを組んだつもりです。
しかし、上手く作動しません。もうお手上げです。どこがおかしいのでしょうか?ご教授宜しくお願いします。
お礼
ありがとうございます。たすかりました。