[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『エクセルVBAで日曜日だけを除外し、1ヶ月分の日報を自動作成印刷』(マーくん)
今現在、6つの部署用の日報を1つのシートに6ページで作成しています。
このシートの印刷設定の欄外のA1に日付を入力することにより
印刷設定されたA2以下の各ページのそれぞれの日付が
A1を参照して入力されます。
1ヶ月分を毎回日付を変えながら、
しかも日曜日を印刷しないようにしておこなっています。
これを、自動で1ヶ月分日付入りで、
しかも日曜日を除いた日報を作成し印刷できないものかと考えております。
例えば、マクロ開始ボタンを押すと
「何月何日からですか」とダイヤログボックスがでて、
次に「何月何日までですか」と出てきて、
そして「印刷しますか?」とでて、「ハイ」を押すとあとは、
A1に自動入力されて6ページが印刷され、
自動で翌日の日付で6ページが印刷され、
終了指定の日まで印刷され終了 となるようなマクロです。
VBAの達人の方、何月何日から何月何日までと入力して
ボタンを押すだけで日曜日を除く日報が
印刷できるこのような複雑なプログラムを教えて下さい
御願いいたします。
< 使用 Excel:Excel2007、使用 OS:Windows8 >
(マナ) 2015/03/01(日) 23:25
とりあえずのたたき台で。
Sub Sample() Dim sd, ed, pd sd = CDate(InputBox("開始日を入力してください。", , Format(Date, "YYYY/MM/1"))) ed = CDate(InputBox("終了日を入力してください。", , Format(DateAdd("M", 1, sd) - 1, "YYYY/MM/DD")))
For pd = sd To ed If Weekday(pd) <> vbSunday Then Range("A1").Value = pd ActiveSheet.PrintPreview End If Next End Sub
(Mook) 2015/03/01(日) 23:38
印刷日付分だけプレビューが実行されるので、一ヶ月だったら20回以上、プレビューが起動 すると思います。
紙がもったいないと思ったので、PritPreview にしたのですが、問題なければ PtintOut に変更することが想定でした。 (Mook) 2015/03/02(月) 22:49
また、教えていただいたプログラムですが
印刷プレビューが枚数分あることに全く気づいていませんでした。
そして、プレビューからPrintOutに変更したら思っていたとおりの印刷ができました。
ほんとうに素晴らしい!
ありがとうございました。
(マーくん) 2015/03/04(水) 17:36
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.