title: CopyPicture method of range class failed - sometimes
body: <p>I have a VBA code which I am using to copy ranges as a picture and paste them into a chart. It does this so I can save it into a picture. This code has like a 70% success rate, and when it doesn't work, it gives out the error "CopyPicture method of range class failed". I don't understand why it can sometimes work and sometimes doesn't given that it is taking the same inputs.</p>
  
  <p>Can anyone help?</p>
  
  <pre><code>Public Sub ExportRange(workbookPath As String, sheetName As String, rangeString As String, savepath As String)
  
      Set tempWorkBook = Workbooks.Open(workbookPath)
  
      Dim selectRange As range
      Set selectRange = Worksheets(sheetName).range(rangeString)
      Dim numRows As Long
      numRows = selectRange.Rows.Count
      Dim numCols As Long
      numCols = selectRange.Columns.Count
  
      ' Transfer selection to a new sheet and autofit the columns
      selectRange.Copy
      Dim tempSheet As Worksheet
      Set tempSheet = Sheets.Add
      tempSheet.range("A1").PasteSpecial xlPasteAll
  
      ActiveSheet.UsedRange.Columns.AutoFit
      Set selectRange = ActiveSheet.UsedRange
      selectRange.Select
      selectRange.CopyPicture xlScreen, xlPicture
  
      Dim tempSheet2 As Worksheet
      Set tempSheet2 = Sheets.Add
      Dim oChtobj As Excel.ChartObject
      Set oChtobj = tempSheet2.ChartObjects.Add( _
          selectRange.Left, selectRange.Top, selectRange.Width, selectRange.Height)
  
      Dim oCht As Excel.Chart
      Set oCht = oChtobj.Chart
      oCht.Paste
      oCht.Export filename:=savepath
      oChtobj.Delete
  
      Application.DisplayAlerts = False
      tempSheet.Delete
      tempSheet2.Delete
      tempWorkBook.Close
      Application.DisplayAlerts = True
  
  End Sub
  </code></pre>