title: Excel VBA: Run Time Error 5 - Invalid Procedure Call or Argument
body: <p>I have a macro in excel which loops over the tabs and saves the tabs as PDFs in a given folder.</p>
  
  <p>The macro partially works, it creates a few PDFs but then stops and throws this error:</p>
  
  <pre><code>Run Time Error 5 - Invalid Procedure Call or Argument
  </code></pre>
  
  <p>Here is my code:</p>
  
  <pre><code>Option Explicit
  
  Sub WorksheetLoop()
  
  Dim wsA As Worksheet
  Dim wbA As Workbook
  Dim strTime As String
  Dim strName As String
  Dim strPath As String
  Dim strFile As String
  Dim strPathFile As String
  Dim myFile As Variant
  Dim rng As Range
  
  ' Prevents screen refreshing.
  Application.ScreenUpdating = False
  
  Set wbA = ActiveWorkbook
  
  strPath = wbA.Path
  strTime = Format(Now(), "yyyymmdd")
  
  'get active workbook folder, if saved
  strPath = wbA.Path
  If strPath = "" Then
    strPath = Application.DefaultFilePath
  End If
  strPath = strPath &amp; "\"
  
  ' Begin the loop.
  For Each wsA In ActiveWorkbook.Worksheets
  
      'replace spaces and periods in sheet name
      strName = Replace(wsA.Name, " ", "")
      strName = Replace(strName, ".", "_")
  
      If strName = "Macro" Then
          MsgBox "That's all folks! :)"
          Exit Sub
      End If
  
      If strName = "TOUCHPOINTS" Then
          strName = "Touchpoints by markets"
      End If
  
      If strName = "VIDEOHOURS" Then
          strName = "Viewing Hours by markets"
      End If
  
      If strName = "TARGETS" Then
          strName = "Shares by markets"
      End If
  
      If strName = "SHARESCHANNELS" Then
          strName = "IGNORE ME"
      End If
  
      If strName = "TOP10PREMIERES" Then
          strName = "Top 10 Premieres by markets"
      End If
  
      If strName = "SHARETREND" Then
          strName = "Share trends last 13 months"
      End If
  
      If strName = "COMPETITION" Then
          strName = "Share overview international media companies"
      End If
  
      If strName = "COMPETITIONSHARETREND" Then
          strName = "Share trends factual competitors last 13 months"
      End If
  
      If strName = "PUT" Then
          strName = "PUT level"
      End If
  
      If strName = "CHANNELRANKER" Then
          strName = "Top 20 Channels by Market"
      End If
  
      'create default name for savng file
      strFile = strName &amp; "_" &amp; strTime &amp; ".pdf"
      myFile = strPath &amp; strFile
  
      Debug.Print myFile
  
      'export to PDF if a folder was selected
      If myFile &lt;&gt; "False" Then
          wsA.ExportAsFixedFormat _
                  Type:=xlTypePDF, _
                  Filename:=myFile, _
                  Quality:=xlQualityStandard, _
                  IncludeDocProperties:=True, _
                  IgnorePrintAreas:=False, _
                  OpenAfterPublish:=False
      End If
  
  Next wsA
  
   ' Enables screen refreshing.
  Application.ScreenUpdating = True
  
  End Sub
  </code></pre>