[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『1シートに2日分の日付入力した表の、1カ月分印刷』(マロン)
1つのシートのA1に一日目の日付を入力し
B2に次の日の日付を入力したいと思います。
それを参照して1シートに2日分の表を作成したいと考えています。
そして表の1ヶ月分を印刷したいのです。
ただし日曜日は除外し、詰めて印刷ができないものでしょうか。
よろしくおねがいします。
< 使用 Excel:Excel2007、使用 OS:Windows8 >
「B2に」は、きっと「B1に」の間違いだろうなぁというほかは全くイメージがわきません。 2つの日付から、「どんな表をどこに」作成するんですか? 「2日分の表」というのもイメージがわかないんですが「その(2日分の)表」の中の「1か月分」というのは どんな部分なんだろう??
きちんと、シート上のレイアウトを具体的に説明したほうがいいのでは?
(β) 2015/03/05(木) 20:48
印刷時の2枚目にはセル位置B5に2015/4/3を
セル位置AB5には2015/4/4を印刷したいのです。
3枚目は日曜があるのでセル位置B5には2015/4/6を
セル位置AB5には2015/4/7を印刷したいのです。
この工程で1ヶ月分の表を印刷したいのです。
しかも日曜日は印刷削減のため除外をしたいのです。
本当にわかりづらくて申し訳ありません。
(マロン) 2015/03/05(木) 21:38
あまり仕様を理解していませんが、詳細は調整してもらうとして、 こんなことでしょうか。
Sub Sample() Dim sd, pd sd = CDate(Format(Date, "YYYY/MM/1")) '// 印刷月の指定は随意に
pd = sd Do While Month(sd) = Month(pd) If Weekday(pd) <> vbSunday Then If Range("A1").Value = "" Then Range("A1").Value = pd Else Range("B2").Value = pd ActiveSheet.PrintPreview '// 印刷は PrintOut Range("A1").ClearContents Range("B2").ClearContents End If End If pd = pd + 1 Loop If Range("A1").Value <> "" Then ActiveSheet.PrintPreview '// 印刷は PrintOut Range("A1").ClearContents Range("B2").ClearContents End If End Sub
(Mook) 2015/03/05(木) 21:47
初歩的なことですが、お教え下さい。
印刷月の指定をする場合の方法で
セルBA2に印刷月を入力する場合
コードのどこに入れればよいのでしょうか。
お教え下さい。
(マロン) 2015/03/05(木) 22:23
sd = [BA2] などで。 (Mook) 2015/03/06(金) 00:36
実は作成し完成間近で、表の大きさの変更がありました。
1ページに2日分の表を作成していたものが、
1ページに6日分の表の作成になってしまいました。
教えていただいたプログラムですが、改変がすごく難しいです。
ご迷惑だと思いますが
可能でありましたらもう一度教えていただけないでしょうか。
もちろん日曜日は除外していきたいと思います。
厚かましいお願いですが
よろしくお願いします。
(マロン) 2015/03/06(金) 19:54
条件付き書式で、n1からn6に値が入力されていない場合は 該当する表の範囲のセルの色(罫線とか文字)が白になるようにしておいてください。
Sub Sample() Dim sd, pd sd = CDate(Format(Date, "YYYY/MM/1")) '// 印刷月の指定は随意に ed = DateAdd("m", 1, sd) - 1 pd = sd Do If Weekday(pd) <> vbSunday Then n = n + 1 Select Case n Case 1: Range("n1").Value = pd Case 2: Range("n2").Value = pd Case 3: Range("n3").Value = pd Case 4: Range("n4").Value = pd Case 5: Range("n5").Value = pd Case 6: Range("n6").Value = pd End Select End If If n = 6 Or pd = ed Then n = 0 ActiveSheet.PrintPreview '// 印刷は PrintOut Range("n1").ClearContents Range("n2").ClearContents Range("n3").ClearContents Range("n4").ClearContents Range("n5").ClearContents Range("n6").ClearContents End If pd = pd + 1 Loop Until pd > ed
End Sub
(マナ) 2015/03/07(土) 00:35
Mookさん、マナさん、
本当にありがとうございました。
(マロン) 2015/03/07(土) 18:06
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.