- ベストアンサー
エクセルで一行毎、一枚づつ自動でプリントアウトする方法
- エクセルで一行毎、一枚づつ自動でプリントアウトする方法を教えてください。
- 現在はSheet1に表があり、Sheet2に製品明細の雛型があります。今後は製品明細を一行毎に一枚に印刷し、数量が0のものは印刷しないように自動化したいです。どのようなマクロを作れば良いでしょうか?
- エクセルで自動で製品明細を一行毎に一枚に印刷する方法を教えてください。数量が0のものは印刷しないようにしたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
参考にしてください。最初は添付の様な簡単なシートで実験してみて意味がわかったら 実務のファイルに応用してください。 データがたくさんあると沢山印刷されて大変でしょうから。 Sub ボタン1_Click() For i = 2 To Range("A" & Rows.Count).End(xlUp).Row If Range("B" & i).Value > 0 Then Sheets("Sheet2").Range("B4").Value = Range("A" & i).Value Sheets("Sheet2").Range("B5").Value = Range("B" & i).Value Sheets("Sheet2").PrintPreview End If Next End Sub For~Nect でA列のデータの数だけ繰り返す If文で B列が 0以上の場合に実施 Sheet2のB4セルに A列、B5セルにB列を入れる Sheet2の印刷プレビュー と云ったところです。 うまく出来たら PrintPreview をPrintOut にしてください
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
Googlreで「imogasi 請求書」で照会すれば、私が過去に回答した方法と、その他の回答者のやり方も出てきます。 私のはVBAを最小限にしか使わない(VBA初心者を意識した、関数利用を最大限生かした)方法で、行数だけ、(印刷範囲).PrintOutの1行を繰り返すだけです。
お礼
ありがとうございました。 今後の参考用に「お気に入り」に保存しておきたいと思います。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
>どのようなマクロを作れば良いのでしょうか? http://okwave.jp/qa/q6294342.html ↑ #8で回答したように、For~Next とIFの組み合わせになると思います 最終行の取得は Range("A" & Rows.Count).End(xlUp).Row といった具合。 # 基本的に丸投げは回答が付きません。 # 正確に状況が把握できないと作ってくれる回答者もでてきません。 # 的を絞って質問すると回答が付きやすくなります。
お礼
ありがとうございました。 簡単なデータを作って実験したところ、思うような結果が出ました。