ここから本文です

エクセルを教えてください。 欄外に日付を入力して印刷部数10に設定して印刷ボ...

a55********さん

2017/7/1012:59:19

エクセルを教えてください。

欄外に日付を入力して印刷部数10に設定して印刷ボタンを押すと、欄外に入力した日付以降の日付が指定したセルに印刷される。平日だけです。

7月10日を入力す

るとフォーマットの日付のセルだけ7月11.12.13...と順に10日分印刷したいです。

どうやったら出来ますか?

閲覧数:
84
回答数:
2

違反報告

ベストアンサーに選ばれた回答

san********さん

2017/7/1014:42:55

>欄外に日付を入力
この欄外とはどの部分でしょう?
ヘッダー?フッター?ページ指定範囲外?

以下のサンプルマクロは「A1」に7月10日を入力するとした場合です。
このA1を質問者様の「欄外」に書き換えて下さい。印刷対象はSheet1です。勿論日付け入力セルA1もSheet1になってます。

考え方は、
①平日10日間をカウントする為の変数「r」を用意する。
②A1の値に「1」加算して7月11日、12日としていく。
③変数「i」を使い、ループして10日分にする。
④「1」加算した日付けが土、日曜かどうかを「Weekday関数」にて判断する。
⑤プリントする、しないは「Select Case 文」で判断。
※祝日は判断できません。どうしても加味したい場合は別シートに年間祝祭日一覧表を作成しておいてそれとの比較で判断することになるでしょう。


Sub Sample()

Dim i As Long
Dim r As Integer

With Sheets("sheet1")
r = 1
For i = 1 To 15 '開始曜日が不明なので15回ループ
'10日分プリントしたらループ修了
If r >= 10 Then Exit For

.Range("a1").Value = .Range("a1") + 1

Select Case Weekday(.Range("a1").Value)
'火曜(2)から金曜(6)だったら
Case 2 To 6
.PrintOut
r = r + 1

End Select

Next i
End With
End Sub

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

aka********さん

2017/7/1013:15:17

マクロで 同じセルへ 1日ずつ足して印刷すれば できます。
関数では無理です。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる