Supportnet / Forum / Tabellenkalkulation
Regelmäßig Daten von von Mappe zu Mappe kopieren
Frage
Hallo,
ich muß regelmäßig Daten aus einer fixen Mappe/Tabelle/Zellenbereich in eine variable Mappe/Tabelle/Zellen kopieren.
Ich habe beide Mappen geöffnet folgendes versucht:
Workbooks("MappeFix.xls").Worksheets("Tabelle1").Range("G4:G180").select
Selection.copy
Leider erhalte dann die Fehlermeldung:
Die Select-Methode des Range-Objektes ist Fehlerhaft
Da ich die Daten ja in eine namentlich veränderte Tabelle kopieren muß, komme ich einfach nicht weiter.
Ich hoffe mir kann jemand helfen.
Antwort 1 von coros
Hi MikeNice,
unabhängig davon, dass man in VBA auf die ganzen Select und Selection verzichten kann ( Dein Code würde ohne Select und Selection "Workbooks("MappeFix.xls").Worksheets("Tabelle1").Range("G4:G180").copy" lauten) fehlt bei Deinem Code die Angabe, wohin die Daten kopiert, bzw. wo in welcher Datei in welchem Blatt in welche Zelle diese eingefügt werden sollen.
Als Beispiel:
Bei dem Code werden die Daten in die Datei "Zieldatei.xls" in Blatt "Tabelle1" in Zelle A1 wieder eingefügt.
Bei Zieldatei müsste der Name der Datei, in der die Daten eingefügt werden sollen stehen.
Ich hoffe, Dir hilft das schon mal weiter. Für genauere Makroerarbeitung benötigt man etwas mehr Infos.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
unabhängig davon, dass man in VBA auf die ganzen Select und Selection verzichten kann ( Dein Code würde ohne Select und Selection "Workbooks("MappeFix.xls").Worksheets("Tabelle1").Range("G4:G180").copy" lauten) fehlt bei Deinem Code die Angabe, wohin die Daten kopiert, bzw. wo in welcher Datei in welchem Blatt in welche Zelle diese eingefügt werden sollen.
Als Beispiel:
Workbooks("MappeFix.xls").Worksheets("Tabelle1").Range("G4:G180").Copy _
Workbooks("Zieldatei.xls").Worksheets("Tabelle1").Range("A1")
Bei dem Code werden die Daten in die Datei "Zieldatei.xls" in Blatt "Tabelle1" in Zelle A1 wieder eingefügt.
Bei Zieldatei müsste der Name der Datei, in der die Daten eingefügt werden sollen stehen.
Ich hoffe, Dir hilft das schon mal weiter. Für genauere Makroerarbeitung benötigt man etwas mehr Infos.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von MikeNice
Hallo coros,
vielen Dank für die schnelle Antwort. Genau da liegt mein Problem, daß die Zieldaten (Datei,Tabelle, Zelle) variieren.
Daher war meine Idee auf die Zielzelle zu gehen und von dort das Makro zum kopieren "starten". Ich habe ein entsprechendes Makro auch aufgezeichnet:
Windows("MappeFix.xls").Activate
Sheets("Tabelle1").Select
Range("I4:I186").Select
Selection.Copy
Windows("Zieldatei1.xls").Activate
Range("F4").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
- habe aber da auch das Problem mit den geänderten Zieldaten.
Kannst du damit was anfangen ?
Gruß MickeNice
vielen Dank für die schnelle Antwort. Genau da liegt mein Problem, daß die Zieldaten (Datei,Tabelle, Zelle) variieren.
Daher war meine Idee auf die Zielzelle zu gehen und von dort das Makro zum kopieren "starten". Ich habe ein entsprechendes Makro auch aufgezeichnet:
Windows("MappeFix.xls").Activate
Sheets("Tabelle1").Select
Range("I4:I186").Select
Selection.Copy
Windows("Zieldatei1.xls").Activate
Range("F4").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
- habe aber da auch das Problem mit den geänderten Zieldaten.
Kannst du damit was anfangen ?
Gruß MickeNice
Antwort 3 von coros
Hi MickeNice,
Du könntest das mit folgendem Befehl lösen:
Mit dem Befehl wird Dir der Bereich I4:I186 aus der Datei "MappeFix.xls", Blatt "Tabelle1" kopiert und in der aktiven (markierten) Zelle wieder eingefügt. Du musst immer dort, wo die Daten eingefügt werden sollen, die Zelle markieren und dann den Befehl ausführen
Ich hoffe, Du kommst kalr und ich liege mit meiner Lösung richtig. Wenn nicht, dann melde Dich.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Du könntest das mit folgendem Befehl lösen:
Windows("MappeFix.xls").Sheets("Tabelle1").Range("I4:I186").Copy
ActiveCell.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Mit dem Befehl wird Dir der Bereich I4:I186 aus der Datei "MappeFix.xls", Blatt "Tabelle1" kopiert und in der aktiven (markierten) Zelle wieder eingefügt. Du musst immer dort, wo die Daten eingefügt werden sollen, die Zelle markieren und dann den Befehl ausführen
Ich hoffe, Du kommst kalr und ich liege mit meiner Lösung richtig. Wenn nicht, dann melde Dich.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von MikeNice
Hallo coros,
besten Dank - nachdem ich windos durch workbooks und sheets durch worksheets ersetzt habe (???), funktioniert es super.
Besten Dank nochmals.
Gruß
MikeNice
besten Dank - nachdem ich windos durch workbooks und sheets durch worksheets ersetzt habe (???), funktioniert es super.
Besten Dank nochmals.
Gruß
MikeNice
Antwort 5 von coros
Hi MikeNice,
freut mich, dass alles funktioniert. Danke Dir auch für die Rückmeldung.
MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
freut mich, dass alles funktioniert. Danke Dir auch für die Rückmeldung.
MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.