先ほどのコードを修正するけど
Sub ボタン2_Click()
Dim i As Long
Sheets("納品書").Select
For i = 2 To Sheets("取引先").Rnage("A" & Rows.Count).End(Xlup).Row
Rnage(”A11").Value =.Sheets("取引先").Range("A" & i).Value
Sheets("納品書").PrintPreview
Next
Sheets(ボタンを配置したシート名).Select
End Sub
ボタンをクリックすると
納品書のシートに、取引先名が順番に入って
それぞれの納品書のリストが表示されて
印刷レビューの画面が表示されるだろう。
※印刷すると紙が無駄なので、印刷しない をクリックしてください。
(おお、確かに、フィルターオプションの条件が順次変わって
シートのChangeが実行される。
納品書に必要なリストが表示されている。)
・ボタンをクリックしてマクロを実行
・納品書の A11(11行目)が変更される。
・シート納品書のChangeイベントが実行される。
・納品書に必要なデータ一覧が表示(フィルターオプション)される。
・印刷画面が表示される。
この順番で Changeイベントが実行されます。
マクロの実行=>Changeイベント=>関数
と実行の優先順位があります。
「だいぶ、イメージと近くなったけど
・今日は出荷がない取引先も表示されてしまう。
こちらは、解決できるか?}
「当り前だ、さっきのIf文を使うんだ。
納品書には、合計金額があるだろ
例 E9セルに Sum関数で合計金額(或いは 13行目の商品名等でも大丈夫です)
もし、 合計金額 が 0円以上(>0) の場合(Then)にPrintOutさせるんだ。」