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

Forumthread: Zeilen nach Kriterien in andere Excel Datei kopieren

Zeilen nach Kriterien in andere Excel Datei kopieren
20.11.2019 15:22:17
Andreas
Hallo zusammen,
bin hier noch ganz neu und habe ein Problem:
Mir liegt eine Excel-Datei vor, die sich monatlich um einige Zeilen an Daten füllt. Nun sollen Zeilen nach bestimmten Kriterien, z.B. alle Zeilen mit Projektnummer XY in eine andere Excel-Datei kopiert werden. Dieser Export soll nun nicht nur immer nach einer bestimmten Projektnummer erfolgen, sondern mit mehreren unterschiedlichen, d.h. ideal wäre es natürlich diese jeweils manuell auszuwählen, genauso wie die den Ort der Zieldatei (evtl. über ein UserForm?).
Gibt es hier eine Möglichkeit, dies mit VBA umzusetzen?
Vielen Dank schon im Voraus.
Grüße
Andreas
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nachgefragt ...
20.11.2019 16:17:16
neopa
Hallo Andreas,
... sind nicht all zu viele Datensätze auszuwerten und die Kopie muss nicht statisch sondern "dynamisch" erfolgen? Dann käme auch eine Formellösung in Frage.
Gruß Werner
.. , - ...
AW: nachgefragt ...
20.11.2019 16:23:35
Andreas
Hallo Werner,
es sind ca. 500 Zeilen, Tendenz zukünftig eher steigend.
Mit welchen Formeln würdest du dann arbeiten?
Grüße
Andreas
Anzeige
AW: (D)eine (auszugsweise) Beispieldatei ...
20.11.2019 16:35:55
neopa
Hallo Andreas,
... die Du hier einstellst, wäre hilfreich (9 Zeilen und 3 Spalten sind ausreichend) Bei Bedarf anonymisiere bestimmte Daten und schreibe noch dazu wie viele Spalten max. auszuwerten sind und in welcher die Proj.Nrr. stehen.
Gruß Werner
.. , - ...
AW: (D)eine (auszugsweise) Beispieldatei ...
21.11.2019 08:51:51
Andreas
Hallo Werner,
anbei die Sample Data Datei.
Es ist eigentlich nur eine Spalte auszuwerten, die erste, in der die Projekt-Nr. steht. Es sollen also immer alle Zeilen mit der gleichen Projektnummer in eine neue Datei kopiert werden. Hier dann beginnend ab der ersten Zeile.
https://www.herber.de/bbs/user/133338.xlsx
Gruß
Andreas
Anzeige
AW: nun, dafür ...
21.11.2019 13:56:17
neopa
Hallo Andreas,
... hab ich Dir in beigefügter Datei https://www.herber.de/bbs/user/133352.xlsx (m)einen Lösungsvorschlag innerhalb dieser Datei aufgezeigt. Das Ergebnis kannst Du direkt in einer zweiten Datei erzeugen oder auch anderweitig (auch mit einfacher INDEX()-Formel) in diese verknüpfen.
Gruß Werner
.. , - ...
Anzeige
AW: nun, dafür ...
22.11.2019 08:02:35
Andreas
Hallo Werner,
erst einmal vielen Dank für deinen Lösungsvorschlag. Kann ich das nun auch so einstellen, dass ich mehrere neue Excel Dateien ansteuern kann? Oder muss ich hierzu immer die Formel ändern?
Grüße
Andreas
AW: dazu bedarf es keiner Formeländerung owT
22.11.2019 11:15:29
neopa
Gruß Werner
.. , - ...

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilen nach Kriterien in andere Excel Datei kopieren


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei mit den Daten, die Du kopieren möchtest.

  2. Aktiviere den VBA-Editor mit ALT + F11.

  3. Füge ein neues Modul hinzu:

    • Rechtsklick auf "VBAProject (DeinDateiname)" > Einfügen > Modul.
  4. Füge folgenden VBA-Code ein:

    Sub DatenKopieren()
       Dim wsQuelle As Worksheet
       Dim wsZiel As Worksheet
       Dim rng As Range
       Dim Zieldatei As String
       Dim ProjektNr As String
    
       ' Setze die Quelle und Ziel Arbeitsblätter
       Set wsQuelle = ThisWorkbook.Sheets("Quelle") ' Ändere "Quelle" nach Bedarf
       Set wsZiel = ThisWorkbook.Sheets("Ziel")     ' Ändere "Ziel" nach Bedarf
    
       ' Definiere die Projektnummer
       ProjektNr = InputBox("Bitte Projektnummer eingeben:")
    
       ' Setze den Ziel-Dateipfad
       Zieldatei = Application.GetSaveAsFilename(FileFilter:="Excel Dateien (*.xlsx), *.xlsx")
    
       If Zieldatei = "False" Then Exit Sub ' Abbrechen wenn der Benutzer nicht speichert
    
       ' Durchlaufe die Zeilen
       For Each rng In wsQuelle.Range("A1:A500") ' Anpassung auf Deine Daten
           If rng.Value = ProjektNr Then
               wsZiel.Cells(wsZiel.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = rng.Value
           End If
       Next rng
    
       ' Speichere die Zieldatei
       wsZiel.Parent.SaveAs Filename:=Zieldatei
    End Sub
  5. Schließe den VBA-Editor und führe das Makro aus, um die Daten zu kopieren.


Häufige Fehler und Lösungen

  • Fehler: "Komponente kann nicht gefunden werden"

    • Lösung: Stelle sicher, dass alle Referenzen im VBA-Editor korrekt gesetzt sind. Gehe zu Extras > Verweise.
  • Fehler: "Zieldatei kann nicht gespeichert werden"

    • Lösung: Überprüfe die Schreibberechtigungen des Zielordners oder wähle einen anderen Speicherort aus.

Alternative Methoden

Falls Du keine VBA-Lösung nutzen möchtest, kannst Du auch Excel-Formeln verwenden:

  1. INDEX und VERGLEICH:

    • Verwende die Formel =INDEX(Quelle!A:A,VERGLEICH(Projektnr,Quelle!A:A,0)), um bestimmte Daten aus einer Excel-Datei in eine andere zu übernehmen.
  2. FILTER-Funktion (ab Excel 365):

    • Nutze die Formel =FILTER(Quelle!A:A, Quelle!A:A=Projektnr), um dynamisch die Zeilen mit der gewünschten Projektnummer zu extrahieren.

Praktische Beispiele

Wenn Du regelmäßig bestimmte Daten aus einer Excel-Datei in eine andere übernehmen möchtest, kannst Du die oben genannten VBA- oder Formelmethoden verwenden. Hier ein einfaches Beispiel:

  • Beispiel mit VBA: Du hast eine Datei mit 500 Zeilen und möchtest alle Zeilen mit der Projektnummer "XY123" in eine neue Datei kopieren. Mit dem VBA-Skript kannst Du dies automatisieren und die Zieldatei an einem beliebigen Ort speichern.

Tipps für Profis

  • Automatisierung: Überlege, ob Du ein UserForm erstellen möchtest, um die Eingabe der Projektnummer und den Dateistandort zu vereinfachen.
  • Datenvalidierung: Nutze Datenvalidierung in Excel, um sicherzustellen, dass nur gültige Projektnummern eingegeben werden.
  • Regelmäßige Sicherung: Achte darauf, Deine Excel-Dateien regelmäßig zu sichern, da VBA-Skripte Änderungen an Deinen Daten vornehmen können.

FAQ: Häufige Fragen

1. Kann ich mehrere Projektnummern gleichzeitig kopieren?
Ja, Du kannst das VBA-Skript anpassen, um mehrere Projektnummern zu akzeptieren und die entsprechenden Zeilen zu kopieren.

2. Funktioniert das auch in Excel 2016?
Ja, die beschriebenen Methoden sind in Excel 2016 und späteren Versionen kompatibel.

3. Wie kann ich Excel-Formeln von einer Datei in eine andere kopieren?
Du kannst einfach die Formel kopieren und in die Zieldatei einfügen. Achte darauf, die Bezüge entsprechend anzupassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige