in folgendem Makro bekomme ich bei "chtObj.Chart.Shapes(1).Top=0" die Fehlermeldung: "Index in der angegebenen Sammlung ist außerhalb des zulässigen Bereichs"
In Excel 2010 hat das Makro ohne Fehlermeldung funktioniert. Seit ich Excel 2016 habe, bringt er diese Meldung.
Zusätzlich merkwürdig ist, dass wenn ich das Makro über Einzelschritt-Betrachtung (F8) ausführe, gibt es keine Fehlermeldung und alles wird so gespeichtert, wie ich mir das wünsche.
Was ist das Problem und was muss ich ändern? :(
Hier das Makro:
Sub bildspeichern()
Dim wbk As Excel.Workbook
Dim wksTemp As Excel.Worksheet
Dim rngB As Excel.Range
Dim chtObj As Excel.ChartObject
Dim strPathAndFile As String
Dim dblWidth As Double
Dim dblHeight As Double
'Deklaration Variablen
Set wbk = ThisWorkbook
strPathAndFile = "J:\xxx\yyy.jpg"
Sheets(Array("Produktivität")).Select 'Auswahl Reiter
Set rngB = Range("A1:AL90")
rngB.CopyPicture Appearance:=xlScreen, Format:=xlPicture
Set wksTemp = wbk.Worksheets.Add
Set chtObj = wksTemp.ChartObjects.Add(10, 10, 15000, 20000)
chtObj.Chart.Paste
chtObj.Chart.Shapes(1).Top = 0
chtObj.Chart.Shapes(1).Left = 0
dblWidth = chtObj.Chart.Shapes(1).Width
dblHeight = chtObj.Chart.Shapes(1).Height
chtObj.Width = dblWidth + 8
chtObj.Height = dblHeight + 8
chtObj.Chart.Shapes(1).Width = dblWidth
chtObj.Chart.Shapes(1).Height = dblHeight
chtObj.Chart.Export Filename:=strPathAndFile, FilterName:="JPG"
Application.DisplayAlerts = False
wksTemp.Delete
Application.DisplayAlerts = True
End Sub
Vielen Dank für die Hilfe.