質問: _ "952" end sub
回答: >たとえば"562"という番号がないときエラーになって止まってしまいます。 この状況が発生する原因としては、(今回掲示されたマクロ以前に他のマクロで?)「毎回イチイチ新しくピボットテーブルレポートを作成し直している」事が考えられます。 ピボットテーブルでは、新しいデータは元データシートに「追加し・入れなおして」その時まで作ってあったピボットテーブルを「更新」して使います。 こういう作り方をすることで、562が「今回のリストにはたまたま含まれていない」場合でもマクロがエラーになることは無くなります。まぁ、562は選べて、中身(該当品目や合計)は空っぽという状態になりますが。 で。 >番号がないときは飛ばして印刷するにはどのようにしたらよいでしょうか? 具体的な対応方法としては、今回あなたが「どーしたいのか」に応じてやり口はいろいろ変わります。 1.今のマクロを使い続けたい(毎回ピボットテーブルを新たに作りたい) 1a)今現在の元データに562などが含まれているかいないかをイチイチ調べて印刷するかどうか決める 1b)今現在の元データに含まれているコードを全部拾って印刷してしまう 2.今のやり方は改めて、一回作ったピボットテーブルレポートを使いまわすやり方に変える こちらはまぁでも、今の時点では多分お好みじゃないと思うので割愛します。 別の方策として、今のマクロを極力そのまま残して「エラー処置」だけで回避してみます。 sub 連続印刷() ' ' 連続印刷 macro ' dim flg as boolean on error goto errhandle flg = true activesheet.pivottables("ピボットテーブル1").pivotfields("コンポコード").clearallfilters activesheet.pivottables("ピボットテーブル1").pivotfields("コンポコード").currentpage = "562" if flg then activewindow.selectedsheets.printout copies:=1, collate:=true, ignoreprintareas:=false flg = true activesheet.pivottables("ピボットテーブル1").pivotfields("コンポコード").clearallfilters activesheet.pivottables("ピボットテーブル1").pivotfields("コンポコード").currentpage = "947" if flg then activewindow.selectedsheets.printout copies:=1, collate:=true, ignoreprintareas:=false flg = true activesheet.pivottables("ピボットテーブル1").pivotfields("コンポコード").clearallfilters activesheet.pivottables("ピボットテーブル1").pivotfields("コンポコード").currentpage = "950" if flg then activewindow.selectedsheets.printout copies:=1, collate:=true, ignoreprintareas:=false flg = true activesheet.pivottables("ピボットテーブル1").pivotfields("コンポコード").clearallfilters activesheet.pivottables("ピボットテーブル1").pivotfields("コンポコード").currentpage = "952" if flg then activewindow.selectedsheets.printout copies:=1, collate:=true, ignoreprintareas:=false exit sub errhandle: flg = false resume next end sub