Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Werte per Makro in andere Exceldatei kopieren

Werte per Makro in andere Exceldatei kopieren
28.11.2016 08:36:13
DeBü
Guten Morgen,
habe hier eine für meinen Kenntnisstand zu große Aufgabe und bitte um Unterstützung.
Spalten per Makro ohne Verknüpfungen in andere Excel-Datei kopieren.
Eine Aufgabe die sich mir stellt und die ich hier weitergeben möchte da ich sie nicht alleine lösen kann lautet:
Aus einer vorhandenen Excel-Quelldatei (QUELLDATEI,Tabelle1) markierte Werte ( werden jeweils per Maus markiert) in ein bestimmtes Tabellenblatt (z.B. ZIELDATEIi,TabJan16) einer Excel-Zieldatei per Makro und anklicken eines Buttons (Button befindet sich in Quelldatei) kopieren.
Herzlichen Dank!
Gruß
DeB
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte per Makro in andere Exceldatei kopieren
29.11.2016 10:39:09
Michael
Hallo!
Hier mal ganz schnell was relativ standarmäßiges inkl. Kommentaren im Code. Das Ganze muss in Deine Quell-Datei in ein allgemeines Modul:
Sub AuswahlInZielDateiKopieren()
'----- Anpassen -----
Const ZIEL_PFAD As String = "U:\Test\" 'Verzeichnis der Ziel-Datei
Const ZIEL_MAPPE As String = "Mappe2.xlsx" 'Name der Ziel-Datei
Const ZIEL_BLATT As String = "TabJan16" 'Name des Ziel-Tabellenblattes
'----- ENDE -----
Dim WbQ As Workbook, WbZ As Workbook, WsZ As Worksheet
Dim Bereich As Range, Opened As Boolean
Application.ScreenUpdating = False
Set WbQ = ThisWorkbook 'Quell-Mappe = DIESE Mappe (mit Makro(s))
Set Bereich = Selection 'Aktuelle Auswahl auf dem Blatt wird kopiert...
'..wenn mindestens 2 Zellen ausgewählt wurden -->
If Bereich.Cells.Count 
Wo Du im Makro Anpassungen vornehmen musst, siehst Du an den Kommentaren. Kommst Du damit zurecht?
LG
Michael
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Werte per Makro in andere Exceldatei kopieren


Schritt-für-Schritt-Anleitung

Um Werte per Makro in eine andere Exceldatei zu kopieren, kannst Du die folgende Schritt-für-Schritt-Anleitung befolgen. Dieses Beispiel geht davon aus, dass Du Excel 2016 oder eine neuere Version verwendest.

  1. Öffne die Quelldatei in Excel, die die Daten enthält, die Du kopieren möchtest.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Füge ein neues Modul hinzu:
    • Rechtsklick auf „VBAProject (DeineDatei.xlsx)“.
    • Wähle „Einfügen“ > „Modul“.
  4. Kopiere den folgenden Code in das Modul:

    Sub AuswahlInZielDateiKopieren()
       '----- Anpassen -----
       Const ZIEL_PFAD As String = "U:\Test\" 'Verzeichnis der Ziel-Datei
       Const ZIEL_MAPPE As String = "Mappe2.xlsx" 'Name der Ziel-Datei
       Const ZIEL_BLATT As String = "TabJan16" 'Name des Ziel-Tabellenblattes
       '----- ENDE -----
       Dim WbQ As Workbook, WbZ As Workbook, WsZ As Worksheet
       Dim Bereich As Range
    
       Application.ScreenUpdating = False
       Set WbQ = ThisWorkbook 'Quell-Mappe = DIESE Mappe (mit Makro(s))
       Set Bereich = Selection 'Aktuelle Auswahl auf dem Blatt wird kopiert...
    
       ' Wenn mindestens 2 Zellen ausgewählt wurden
       If Bereich.Cells.Count < 2 Then
           MsgBox "Bitte mindestens 2 Zellen auswählen."
           Exit Sub
       End If
    
       ' Zielarbeitsmappe öffnen
       On Error Resume Next
       Set WbZ = Workbooks(ZIEL_MAPPE)
       If WbZ Is Nothing Then
           Set WbZ = Workbooks.Open(ZIEL_PFAD & ZIEL_MAPPE)
       End If
       On Error GoTo 0
    
       Set WsZ = WbZ.Sheets(ZIEL_BLATT)
    
       ' Werte kopieren
       Bereich.Copy
       WsZ.Range("A1").PasteSpecial xlPasteValues
    
       ' Arbeitsmappe speichern und schließen
       WbZ.Save
       WbZ.Close
    
       Application.ScreenUpdating = True
    
       MsgBox "Daten wurden erfolgreich in die Zieldatei kopiert."
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.
  6. Füge einen Button hinzu, um das Makro auszuführen:
    • Gehe zu „Entwicklertools“ > „Einfügen“ > „Button“.
    • Ziehe den Button auf das Arbeitsblatt und weise das Makro AuswahlInZielDateiKopieren zu.

Jetzt kannst Du Daten von einer Excel-Datei in eine andere übertragen, indem Du die gewünschten Zellen markierst und den Button klickst.


Häufige Fehler und Lösungen

  • Fehler: Zielarbeitsmappe kann nicht geöffnet werden.

    • Lösung: Überprüfe den angegebenen Pfad und den Dateinamen. Stelle sicher, dass die Datei existiert.
  • Fehler: Weniger als 2 Zellen ausgewählt.

    • Lösung: Markiere mindestens zwei Zellen, bevor Du das Makro ausführst.
  • Fehler: Das Zielarbeitsblatt existiert nicht.

    • Lösung: Überprüfe den Namen des Ziel-Tabellenblattes im Code und passe ihn gegebenenfalls an.

Alternative Methoden

Falls Du kein VBA verwenden möchtest, kannst Du auch die Funktion „Kopieren und Einfügen“ manuell nutzen, um Excel-Daten von einer Datei in eine andere zu übertragen:

  1. Öffne beide Dateien.
  2. Markiere die gewünschten Zellen in der Quelldatei, klicke mit der rechten Maustaste und wähle „Kopieren“.
  3. Wechsle zur Zieldatei, klicke mit der rechten Maustaste auf die Zielzelle und wähle „Einfügen“ oder „Einfügen Werte“.

Praktische Beispiele

Beispiel 1: Daten von einer Excel-Datei in andere übertragen

Wenn Du in einer Datei Verkaufszahlen hast und diese in eine Monatsübersicht kopieren möchtest, nutze das oben aufgeführte Makro, um die Daten effizient zu übertragen.

Beispiel 2: Daten in eine andere Arbeitsmappe per VBA Makro kopieren

Das Makro kann leicht angepasst werden, um Daten in verschiedene Tabellenblätter oder Arbeitsmappen zu kopieren, indem Du die Konstanten am Anfang des Codes änderst.


Tipps für Profis

  • Verwende Fehlerbehandlung im VBA-Code, um Probleme besser zu identifizieren.
  • Du kannst das Makro erweitern, um Excel-Makros in andere Dateien zu kopieren oder um Daten dynamisch basierend auf Auswahlkriterien zu übertragen.
  • Teste Dein Makro in einer Testumgebung, bevor Du es in produktiven Dateien anwendest.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um Daten aus einer anderen Datei zu kopieren, ohne sie zu öffnen? Du kannst den Workbooks.Open-Befehl weglassen und stattdessen Workbooks.Open auf False setzen, um die Datei im Hintergrund zu verarbeiten.

2. Was mache ich, wenn ich die Daten nicht in die erste Zeile der Ziel-Datei einfügen möchte? Ändere die Zeile WsZ.Range("A1") im Code zu der gewünschten Zelle, z.B. WsZ.Range("B2"), um die Daten dort einzufügen.

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