Hallo Gerd,
dein Makro kann so nicht funktionieren, denn mit
Sheets("Blattname1").Select
willst du die Tabelle mit dem Namen "Blattname1" auswählen.
Wenn müsstest du das so schreiben:
Sheets(Blattname1).Select
Was du hiermit
Blattname1 = Activesheet.Name
Blattname1 = blattname
erreichen willst, ist mir allerdings schleierhaft, denn du weist der Variable "Blattname1" ja die Variable "blattname" zu; die Zuweisung des Namens des aktiven Tabellenblatts in der Zeile vorher geht somit ins Leere.
Warum machst du es dir denn so schwer. Es geht doch relativ einfach so:
Sub bage()
Dim blattname As String
blattname = Workbooks("Kraftstoff 2015.xlsm").ActiveSheet.Name
On Error Resume Next
Workbooks.Open Filename:="Abrechung Kraftstoff\2015\Kraftstoff 2015.xlsx"
Workbooks("Kraftstoff 2015.xlsx").Worksheets(blattname).Activate
End Sub
Dies setzt natürlich voraus, dass die Blattnamen wirklich identisch sind.
Ob der Pfad richtig ist kann ich natürlich nicht beurteilen, aber ich würde den Pfad vollständig angeben, z.B. "C:\Abrechung Kraftstoff\2015\Kraftstoff 2015.xlsx"
Gruß
M.O.