Ich habe mal wieder ein kleines Problem mein Ziel zu erreichen.
Ich möchte ein Arbeitsblatt aus einer Arbeitsmappe in eine andere Arbeitsmappe kopieren. So lange ich die Zielarbeitsmappe von Hand öffne funktioniert dies auch problemlos. Wenn ich aber die Zielmappe über Workbooks.Open öffne, dann öffnet sich zwar die Zielmappe, jedoch kann mein Makro die Mappe nicht finden:
Laifzeitfehler '9'
Index außerhalb des gültigen Bereichs
Der Code dazu sieht so aus:
Sub CopySheets()
Dim Arbeitsmappe_Tank31_Testversion_1 As Workbook
Dim Datenbank_Tankbestand As Workbook
Dim Tankbestand As Worksheet
Datum = ActiveSheet.Range("C4")
Set Arbeitsmappe_Tank31_Testversion_1 = Workbooks("Arbeitsmappe_Tank 31_Testversion_1")
Set Tankbestand = Worksheets("Tankbestand")
Workbooks.Open Filename:="C:\Users\User\Desktop\Datenbank_Tankbestand.xlsm", UpdateLinks:=0
Set Datenbank_Tankbestand = Workbooks("Datenbank_Tankbestand")
Worksheets("Tankbestand").Copy After:=Datenbank_Tankbestand.Sheets(Datenbank_Tankbestand.Sheets. _
_
_
_
_
Count)
ActiveSheet.Name = Datum
End Sub
Das highlight wäre natürlich wenn der User gar nicht mitbekommt das sich die Excelliste geöffnet, gespeicher und wieder geschlossen hat. Aber das ist kein muss.
Ich wäre gerade schon asugesprochen dankbar wenn ich es schaffe die Daten automatisch zu übertragen ohne zuvor die Liste händisch öffnen zu müssen.
PS. ich habe ein noch ein wenig mit der Reihenfolge der befehle gespielt, da ich mir dachte das ich so eventuell das ansprechen ermöglichen kann. Dies hat leider nicht geklappt.
Vielen Dank und liebe Grüße
Felix