• ベストアンサー

第2木曜日は2枚印刷するVBA

添付画像のVBAファイルで、セルDF4が木曜日の時は1枚印刷して、木曜日以外は閉じるVBAです。 セルDF4は「TODAY()」の計算式を入力しており、表示形式は「yyyy"年"m"月"d"日"(aaaa)」で表示させています。 質問ですがDF4が第2木曜日の時は2枚印刷するVBAを追加したいのですが、どの様にすれば宜しいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2015
  • ベストアンサー率49% (258/524)
回答No.1

コードは画像ではなく、テキストで上げてください。 テキストならそのままコピペで使えるので…… 今のコードをなるべくそのまま活かしてみました この行を ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True この4行に置き換えてみてください。 nCopies = 1 dToday = Range("DF4") If (Day(dToday) >= 8) * (Day(dToday) <= 14) Then nCopies = 2 ActiveWindow.SelectedSheets.PrintOut Copies:=nCopies, Collate:=True 1つ前の行で木曜日かどうかの判断をしているので、日付が8~14であるかどうかで第2木曜か否かを判断しています。

noname#247334
質問者

お礼

If (Day(dToday) >= 8) * (Day(dToday) <= 14) Then nCopies = 2の後にEnd ifを入力したら対応出来ました。 ありがとうございます。

noname#247334
質問者

補足

第2木曜日の印刷時と、木曜日以外の日付の時はファイルを閉じる動作は上手く行きましたが、第1と第3と第4木曜の時は1枚印刷させないといけませんが、印刷されずにそのまま閉じてしまいます。

関連するQ&A