Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Per Makro kopieren und in andere Datei einfügen!

Forumthread: Per Makro kopieren und in andere Datei einfügen!

Per Makro kopieren und in andere Datei einfügen!
08.01.2003 11:15:22
Goofe
mit dem folgenden makro kopiere ich den tabelleninhalt ab zeile 3 von den spalten a bis f:
Sub kopieren()
Dim I As Integer
I = ActiveSheet.UsedRange.Rows.Count
Range(“A3:F” & I).Copy
End Sub

Jetzt öffne ich eine andere Excel-Datei und möchte den zuvor kopierten Tabellenbereich in diese Datei mit folgendem Makro einfügen (in die nächste leere Zeile; Tabelle ist fortlaufend!):
Sub einfuegen()
Dim y%
y = Cells(Rows.Count, 1).End(xlUp).Row
Range(“A” & y + 1).Select
ActiveSheet.Paste
End Sub


Irgend etwas muss bei dem “einfuegen-makro” nicht stimmen. Wenn ich dieses Makro starte, wird immer folgender Fehler angezeigt:
„Laufzeitfehler ‚1004’: Die Paste-Methode des Worksheet-Objektes konnte nicht ausgeführt werden.“
Die erste freie Zelle in Spalte A wird zwar selektiert, nur das Einfügen funktioniert nicht.

Bin für jeden Tipp dankbar!!!!! EILT!!!!!

Vielen Dank für Eure Bemühungen im Voraus!


Gruß,
Goofe

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Per Makro kopieren und in andere Datei einfügen!
08.01.2003 11:47:51
Chris
Hallo Goofe

Kann nur raten... Vermute das Problem liesse sich beheben, wenn du die Dateibezeichnung und Blatt ebenfalls bezeichnest.

z.B.
Workbooks("XZ.xls").Sheets("XY").Range("A" & y + 1).Select
Workbooks("XZ.xls").Sheets("XY").Paste

Ansonsten musst du mal den ganzen Code posten.

Gruss
Chris

Anzeige
Re: Per Makro kopieren und in andere Datei einfügen!
08.01.2003 16:40:23
Goofe
hallo chris,
hab das problem gelöst.
die in die zwischenablage kopierte tabelle wird wieder gelöscht, wenn man das "einfügen-makro" über den menüpunkt extras, makro... starten möchte. ich habe jetzt direkt das "einfügen-makro" einer schaltfläche zugewiesen. siehe da: es funktioniert!

danke!


gruss,
goofe

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Daten mit VBA Makros in eine andere Excel-Datei kopieren


Schritt-für-Schritt-Anleitung

Um Daten in eine andere Arbeitsmappe per VBA Makro zu kopieren, kannst Du die folgenden Schritte befolgen:

  1. Makro zum Kopieren erstellen: Erstelle ein Makro, das die gewünschten Daten kopiert. Zum Beispiel kannst Du den Inhalt ab Zeile 3 von den Spalten A bis F kopieren:

    Sub kopieren()
       Dim I As Integer
       I = ActiveSheet.UsedRange.Rows.Count
       Range("A3:F" & I).Copy
    End Sub
  2. Makro zum Einfügen erstellen: Erstelle ein weiteres Makro, um die kopierten Daten in eine andere Excel-Datei einzufügen. Stelle sicher, dass Du die Ziel-Workbook und -Worksheet angibst:

    Sub einfuegen()
       Dim y As Long
       y = Workbooks("ZielDatei.xlsx").Sheets("ZielTabelle").Cells(Rows.Count, 1).End(xlUp).Row
       Workbooks("ZielDatei.xlsx").Sheets("ZielTabelle").Range("A" & y + 1).PasteSpecial
    End Sub
  3. Makros ausführen: Führe zuerst das kopieren-Makro aus, gefolgt von dem einfuegen-Makro. Achte darauf, dass die Zieldatei geöffnet ist.


Häufige Fehler und Lösungen

  • Laufzeitfehler 1004: Dieser Fehler tritt häufig auf, wenn das Ziel-Worksheet nicht korrekt referenziert wird. Stelle sicher, dass Du den Namen der Datei und des Blattes korrekt angibst, wie im Beispiel oben.

  • Zwischenablage wird gelöscht: Wenn Du das Einfügen-Makro über das Menü ausführen möchtest, könnte die Zwischenablage geleert werden. Weise das Einfügen-Makro einer Schaltfläche zu, um dieses Problem zu umgehen.


Alternative Methoden

Eine alternative Methode, um Daten in eine andere Datei zu kopieren, ist die Verwendung der Workbook-Objekte in Kombination mit Copy und PasteSpecial. So kannst Du auch ganze Tabellenblätter zwischen Arbeitsmappen übertragen:

Sub TabellenblattKopieren()
    Workbooks("QuellDatei.xlsx").Sheets("QuellTabelle").Copy _
    After:=Workbooks("ZielDatei.xlsx").Sheets(Workbooks("ZielDatei.xlsx").Sheets.Count)
End Sub

Praktische Beispiele

  1. Excel Arbeitsblatt in andere Datei kopieren: Wenn Du ein ganzes Arbeitsblatt in eine andere Datei kopieren möchtest, benutze das Copy-Kommando wie oben gezeigt.

  2. Daten in andere Datei übertragen: Du kannst auch spezifische Zellen oder Bereiche in eine andere Datei übertragen, indem Du Range-Objekte verwendest.


Tipps für Profis

  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen in Deinen VBA-Codes, um unerwartete Fehler abzufangen und benutzerfreundliche Fehlermeldungen anzuzeigen.

  • Makros optimieren: Halte Deine Makros schlank und effizient, indem Du nur die benötigten Daten kopierst und unnötige Berechnungen vermeidest.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die Zieldatei geöffnet ist, bevor ich das Einfügen-Makro ausführe?
Du kannst eine Funktion verwenden, um zu überprüfen, ob die Datei geöffnet ist, und sie gegebenenfalls öffnen:

Function IsWorkbookOpen(wbName As String) As Boolean
    Dim wb As Workbook
    On Error Resume Next
    Set wb = Workbooks(wbName)
    On Error GoTo 0
    IsWorkbookOpen = Not wb Is Nothing
End Function

2. Was ist der Unterschied zwischen Copy und PasteSpecial?
Copy kopiert die Daten, während PasteSpecial es ermöglicht, bestimmte Aspekte der Daten (wie Formate oder Werte) einzufügen. Dies ist nützlich, wenn Du nicht alle Eigenschaften der kopierten Daten übernehmen möchtest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige