|    | 
     以下の要領で表を作っています。 
・明細数:64 
・1ページあたりの明細数:最初のページのみ12、以後は13 
・1明細あたりの行数:6 
・用紙サイズ:A3 
・縮小率:37% 
・行タイトル:1〜12行目 
・印刷範囲:AY1からCU406まで 
 
最初のページだけ明細数が違うのは、最初のページに合計欄などを設けているためです。 
印刷範囲がAYからなのは、ひとつのシートに異なる表が存在するためです。 
この条件でプレビューするところまでをマクロにするため、以下の通りコーディングしました。 
 
'印刷範囲指定 
  Range("AY1:CU621").Select 
  ActiveSheet.PageSetup.PrintArea = "$AY$1:$CU$406" 
  ActiveWindow.View = xlPageBreakPreview 
  With ActiveSheet.PageSetup 
    .PrintTitleRows = "$1:$12" 
    .PrintTitleColumns = "" 
  End With 
   
'ページ設定 
  ActiveSheet.PageSetup.PrintArea = "$AY$1:$CU$406" 
  With ActiveSheet.PageSetup 
    .LeftHeader = "" 
    .CenterHeader = "" 
    .RightHeader = "" 
    .LeftFooter = "" 
    .CenterFooter = "" 
    .RightFooter = "" 
    .LeftMargin = Application.InchesToPoints(0.393700787401575) 
    .RightMargin = Application.InchesToPoints(0.15748031496063) 
    .TopMargin = Application.InchesToPoints(0.490551181102362) 
    .BottomMargin = Application.InchesToPoints(0.31496062992126) 
    .HeaderMargin = Application.InchesToPoints(0.166850393700787) 
    .FooterMargin = Application.InchesToPoints(0.236220472440945) 
    .PrintHeadings = False 
    .PrintGridlines = False 
    .PrintComments = xlPrintNoComments 
    .PrintQuality = 600 
    .CenterHorizontally = False 
    .CenterVertically = False 
    .Orientation = xlLandscape 
    .Draft = False 
    .PaperSize = xlPaperA3 
    .FirstPageNumber = xlAutomatic 
    .Order = xlDownThenOver 
    .BlackAndWhite = False 
    .Zoom = 37 
    .PrintErrors = xlPrintErrorsDisplayed 
  End With 
  
'改ページ設定   
  Set ActiveSheet.HPageBreaks(1).Location = Range("AY94") 
  Set ActiveSheet.HPageBreaks(2).Location = Range("AY172") 
  Set ActiveSheet.HPageBreaks(3).Location = Range("AY250") 
  Set ActiveSheet.HPageBreaks(4).Location = Range("AY328") 
  ActiveWindow.SelectedSheets.PrintPreview 
 
これなら5ページ目までプレビューされるはずですが、実際は6ページできてしまいます。 
しかも、改ページプレビューの青線が入る行は、 
2ページ:94(仕様通り) 
3ページ:172(仕様通り) 
4ページ:250(仕様通り) 
5ページ:328(仕様通り) 
6ページ:340 
となるので、最後の5ページ目が2明細しか印字せずに勝手に改ページ(?)してしまっています。 
 
長ったらしい記述で恐縮ですが、おかしな点があればご指摘下さると幸いです。 
 
 | 
     
    
   |