|
▼かず さん:
おはようございます
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
このようにすればよろしいですね。
|
|