Hallo
ich habe den aufgezeichneten Code mal bereinigt und zwei Code Varianten daraus gemacht. Dazu meine Überlegungen.
Kopiert man den Bereich im Aktiven Blatt vor dem Öffnen kann man auf einiges verzichten. Beim einfügen in Range(A1) sollte man besser das Ziel Blatt in "Taegliche Bestaende" immer mit angeben, denn wenn beim Öffnen der Datei ein anderes Blatt aktiviert ist kopiert man immer in das gerade AktiveBlatt! Auch wenn das falsch ist! Excel kann nicht denken, befolgt immer den Befehlt im Code.
Die zweite Veriante kopiert erst nach dem Öffnen der Datei und erfordert in beiden Mappen die Angabe der Quell- und Ziel Tabellen.
Welche Variante man bevorzugt ist jedem selbst überlassen.
Mit ist aufgefallen das im Beispiel der Kopier Bereich
"A1:i300" nicht mit dem Ziel Bereich übereinstimmt:
"A1:F1" Deshalb habe ich die Ziel Adresse auf "A1" gesetzt!
mfg Gast 123
Code:
Sub Datenübertragen_1()
'Bereich im aktiven Workbook kopieren
ActiveSheet.Range("A1:I300").Copy
On Error GoTo Fehler
Workbooks.Open Filename:="O:\Bedarfslisten\Bestände\Tägliche Bestände 150813.xls"
'2) ins aktive Workbook kopieren (Kurzform ohne Rechen Operationen)
'** besser vor Range immer die gewünscht Ziel Tabelle mit angeben !!
Range("A1").PasteSpecial Paste:=xlPasteAll, Transpose:=False
'1) ins aktive Workbook kopieren (Langform -mit- Rechen Operationen)
Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWindow.Close
Exit Sub
Fehler: MsgBox "unerwarter Fehler beim Öffnen"
End Sub
Sub Datenübertragen_2()
On Error GoTo Fehler
Workbooks.Open Filename:="O:\Bedarfslisten\Bestände\Tägliche Bestände 150813.xls"
'Bereich ins aktive Workbook kopieren
ThisWorkbook.Worksheets("Tabelle XX").Range("A1:I300").Copy
ActiveWorkbook.Worksheets("Tabelle xx").Range("A1").PasteSpecial Paste:=xlPasteAll, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWindow.Close
Exit Sub
Fehler: MsgBox "unerwarter Fehler beim Öffnen"
End Sub