Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8329 / 76732 ←次へ | 前へ→

【73978】Re:日付を入れ替えて印刷する方法
発言  UO3  - 13/3/30(土) 6:35 -

引用なし
パスワード
   ▼かず さん:

おはようございます

M列に日付があるシートと、G列にいれて印刷知るシートが同じシートか別のシートか
不明ですけど、コードでは、同じシートとしておられますので、その前提で。

まず、日付は M6 から始まっていますね。
M1〜M5 が、どうなっているのかわかりませんけど、アップされたコードでは(これが正しいとして)
For cnt =1 to 31 ですから cnt は 1 から始まりますね。
で、If Cells(cnt,13).Value="" Then Exit For がありますから、とえば M1〜M5に空白があれば
そこで処理が終わってしまいますね。
逆に、M1〜M5に空白ではないものがあれば、その値が G3 にセットされて印刷されてしまいますね。
それと、日付の最後は M36 ですよね。 1 To 31 ですと、M32〜M36に日付があっても無視されますね。

次に「スマホ」でアップされたということですから「本当のコードは」
For cnt =6 to 36 Step 1 になっているとします。

このコードの不具合の「元凶」は 「Exit For」 です。
空白のものがあれば、そこで、処理が終わってしまいます。
1月のデータで実行されたようですから、最初が1月1日。祝日ですから空白でしょうね。
なので、最初で Exit For 。処理が終わってしまいます。

  If Cells(cnt, 13).Value <> "" Then
    Range("G3") = Cells(cnt, 13)
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
  End If

このようにすればよろしいですね。

243 hits

【73976】日付を入れ替えて印刷する方法 かず 13/3/30(土) 0:49 質問
【73978】Re:日付を入れ替えて印刷する方法 UO3 13/3/30(土) 6:35 発言
【73985】Re:日付を入れ替えて印刷する方法 かず 13/4/1(月) 9:22 質問
【73986】Re:日付を入れ替えて印刷する方法 UO3 13/4/1(月) 11:45 発言
【73987】Re:日付を入れ替えて印刷する方法 かず 13/4/1(月) 13:34 発言
【73988】Re:日付を入れ替えて印刷する方法 UO3 13/4/1(月) 14:09 発言
【73989】Re:日付を入れ替えて印刷する方法 かず 13/4/1(月) 14:48 発言
【73990】Re:日付を入れ替えて印刷する方法 UO3 13/4/1(月) 16:15 発言
【73991】Re:日付を入れ替えて印刷する方法 かず 13/4/1(月) 17:05 発言
【73993】Re:日付を入れ替えて印刷する方法 UO3 13/4/2(火) 15:01 発言
【73997】Re:日付を入れ替えて印刷する方法 かず 13/4/3(水) 2:07 お礼

8329 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free