title: excel vba not exporting pagesetup to pdf correctly
body: <p>I have code which formats a worksheet to the desired setup and layout (one page wide and tall in landscape). When I run the code (part of a long macro) it formats the pagesetup correctly. </p>
  
  <p>If I manually export and save it as a pdf, then it uses the correct page setup, producing a one page PDF that is in landscape. However, <strong>the same export done by VBA produces a PDF that is severalpages long and in portrait.</strong></p>
  
  <p>i can't figure out why it's doing this. i've tried various solutions such as selecting the worksheet before exporting it, but all to no avail.</p>
  
  <p>Any help is appreciated.</p>
  
  <p>Code looks like this:</p>
  
  <pre><code>Sub SaveAsPDF()
  Sheets(ReportWsName).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
          [SaveFolderPath] &amp; "\" &amp; ReportWsName, Quality:=xlQualityStandard, _
          IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
          False
  End Sub
  </code></pre>
  
  <p>UPDATE:</p>
  
  <p>Code used to format the pagesetup (since it's rather long I am only adding the relevant section of that sub)</p>
  
  <pre><code>Private Sub CreateNewReport(ProvisionCode As String, TimeFrom As Date, TimeTo As Date)
  
  ... other code here...
  
  'Format report to create the desired layout
  With Worksheets(ReportWsName)
      'Delete unnecessary data and format the rest
      .Range("A:B,D:D,F:G,J:M,O:O,Q:S").Delete Shift:=xlToLeft
      .Range("A:F").EntireColumn.AutoFit
      .Range("C:C, E:F").ColumnWidth = 30
      With .Range("G:G")
          .ColumnWidth = 100
          .WrapText = True
      End With
      'Insert standard formating header form Reporting template
      .Rows("1:2").Insert
      wsReportTemplate.Range("1:3").Copy .Range("A1")
      .Range("A2") = "Notes Report for " &amp; ProvisionCode &amp; " (" &amp; TimeFrom &amp; " - " &amp; TimeTo &amp; ")"
      'Insert standard formating footer form Reporting template
      wsReportTemplate.Range("A6:G7").Copy .Range("A" &amp; .UsedRange.Rows.Count + 2)
      'Ensure all data is hard coded
      .UsedRange.Value = .UsedRange.Value
      'Format Print Area to one Page
      With ActiveSheet.PageSetup
          .PrintArea = Worksheets(ReportWsName).UsedRange
          .Orientation = xlLandscape
          .FitToPagesWide = 1
      End With
  End With
  
  End Sub
  </code></pre>