title: Print-out Page Setup Makes Content too Small
body: <p>I have a macro to print out the content of an active worksheet.</p>
  
  <p>The page setup I wrote in VBA.</p>
  
  <pre><code>Sub Macro()
  
  Application.ScreenUpdating = True
  
  Worksheets("Reports").Columns("F").Hidden = True
  Worksheets("Reports").Columns("R").Hidden = True
  Worksheets("Reports").Range("H:J,M:P").EntireColumn.Hidden = True
  
  Dim PrintThis As Range
  Dim LastRow As Long
  
  LastRow = Range("G" &amp; Sheets("Reports").Rows.Count).End(xlUp).Row
  Set PrintThis = Sheets("Reports").Range("F1" &amp; ":T" &amp; LastRow)
  
  With Sheets("Reports").PageSetup
     .Orientation = xlLandscape
     .PrintTitleRows = "$1:$1"
     .PrintArea = "$F:$T"
     .Zoom = False
     .FitToPagesWide = 1
     .FitToPagesTall = False
     .CenterHeader = "Report"
     .CenterFooter = Format(Now(), "dd/mm/yy")
     .RightFooter = "&amp;P"
  End With
  
  PrintThis.PrintPreview
  
  Worksheets("Reports").Columns("F").Hidden = False
  Worksheets("Reports").Columns("R").Hidden = False
  Worksheets("Reports").Range("H:J,M:P").EntireColumn.Hidden = False
  
  Application.ScreenUpdating = False
  
  End Sub
  </code></pre>
  
  <p>The code shrinks the content, fitting it into half of the width of a landscape page. I didn't set up FitToPageTall, because the content's length may change depending on other execution in the worksheet. I used the first row as the print title. I hid several columns in the process since they were not needed in the report, but their widths still took the space on the page.</p>