|
Sub myPrint()
Dim myDate As Date
Dim lstDay As Date
Dim i As Long
'開始日を2009/6/1形式でインプットボックスへ入力
myDate = Application.InputBox("開始日を入力してください")
'キャンセルの場合はマクロ終了
If myDate = 0 Then Exit Sub
'月末を求め変数に代入
lstDay = DateSerial(Year(myDate), Month(myDate) + 1, 1) - 1
'ループで1ヶ月分プリント処理
For i = 0 To Day(lstDay) - Day(myDate)
ActiveSheet.Range("a1") = myDate + i
ActiveSheet.PrintPreview
Next
End Sub
2,の場合処理を途中でキャンセルしたくてもできなく
なりますよ?インプットボックスの場合は×ボタンと
キャンセルボタンの処理の振り分けはできないと思います。
どうしても、そういった小細工が必要ならユーザーフォームを
使うことになると思います。
一応上記のコードはキャンセルの場合は処理を終了させています。
|
|