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

Forumthread: gefilterte Zeilen in neue Excel-Datei kopieren

gefilterte Zeilen in neue Excel-Datei kopieren
23.11.2018 23:23:09
Oli
Hallo zusammen,
ich beschäftige mich seit paar Wochen mit den nützlichen Funktionen von VBA in Excel. Die Grundlagen habe ich mir durch viel lesen bereits erarbeitet.
An einer Aufgabe scheitere ich jedoch kläglich. Ich habe eine Exceltabelle mit Filterfunktion. Darin sind in Spalte B verschiedene Straßennamen genannt.
Nun sollen alle verschiedenen Straßen (inkl. deren dazugehörigen Zellen A,C,D,E) automatisch in eine neue Exceltabelle kopiert werden (inkl. Formatierungen). Idealerweise hat die neue Datei den Namen des Straßennamen.
Hab schon viele Tage gegoogelt, aber nichts wirklich passendes gefunden?
Ist das in VBA überhaupt möglich (ich denke schon, oder)?
Über eure Ideen/Fragen etc. freue ich mich.
Grüße Oli
Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: gefilterte Zeilen in neue Excel-Datei kopieren
24.11.2018 00:00:24
Oli
Ich habe nun folgende Grundlage gefunden:

Sub Speichern_unter()
'Dateiname wird aus Zelleninhalt generiert und abgespeichert in neuer Datei
Dim Verzeichnis As String
Dim Datei As String
Dim SaveDummy As Variant
Verzeichnis = "C:\Users\Oli\Desktop\"
Datei = "Mieterliste_" & Range("B2") & ".xls"
SaveDummy = SpeichernUnter(Verzeichnis & Datei)
If SaveDummy  False Then ActiveWorkbook.SaveAs SaveDummy 'Es wurde im Dialog auf Speichern  _
gedrückt
End Sub

Function SpeichernUnter(VorgabeName As String) As Variant
SpeichernUnter = Application.GetSaveAsFilename(InitialFileName:=VorgabeName, Filefilter:="Excel  _
Dateien (*.xls),*.xls*", _
FilterIndex:=1, Title:="Speichern unter...", ButtonText:="speichern")
End Function
Zwei Punkte, die jedoch noch nicht in dem Code stimme:
- es wird immer der Zelleninhalt aus B2 genommen. Wenn ich aber die Straßen filter, könnte die Zelle auch B78 heißen.
- Die Daten werden eins zu eins kopiert, nicht nur die gefilterten Daten. Es sollen aber nur die gefilterten Daten kopiert werden.
Vielleicht kann mir jemand helfen :)
Vielen Dank
Oli
Anzeige
AW: gefilterte Zeilen in neue Excel-Datei kopieren
24.11.2018 07:55:13
Hajo_Zi
Hallo Oli,
benutze den Makrorecorder und kopiere den sichtbaren Bereich, Start, Bearbeiten, Auswählen, Inhalte

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
AW: gefilterte Zeilen in neue Excel-Datei kopieren
24.11.2018 18:36:33
Oli
Wenn ich den Recorder benutzte, dann klappt das zwar, aber eben nur mit einem Filterergebis (z.B. Amalienstraße). Ich möchte aber alle Straßennamen (ca. 50 verschiedene) in 50 einzelne Dateien kopieren.
AW: Nachfrage
24.11.2018 08:54:53
Gerd
Hallo Oli,
möchtest du nur jeweils A:E der ersten Filterzeile oder des ganzen sichtbaren Filterbereichs kopieren?
Mit oder ohne Überschriften?
Gruß Gerd
Anzeige
AW: Nachfrage
24.11.2018 09:05:08
Hajo_Zi
Halo Gerd,
lasse den Fragesteller entscheiden ob offen.
Es ist heute nicht mehr üblich eine Rückmeldung zu geben und so ist der Beitrag über 6 Tage offen.
Gruß Hajo
AW: Nachfrage
24.11.2018 14:15:18
Gerd
Hallo Hajo!
Das war meine Entscheidung, die du nicht revidieren musst!
Gruß Gerd
Anzeige
AW: gefilterte Zeilen in neue Excel-Datei kopieren
24.11.2018 14:17:40
Gerd
.
AW: gefilterte Zeilen in neue Excel-Datei kopieren
24.11.2018 14:35:50
Hajo_Zi
AW: operandi ignoranti
24.11.2018 14:57:32
Gerd
.
Anzeige
AW: gefilterte Zeilen in neue Excel-Datei kopieren
24.11.2018 14:58:26
Gerd
.
AW: gefilterte Zeilen in neue Excel-Datei kopieren
24.11.2018 15:03:55
Hajo_Zi
wir können das noch ewig machen.
Gruß Hajo
AW: Wenn ich dir vom Administrator
24.11.2018 15:13:37
Gerd
diese Funktion sperren lasse, kannst du nicht mehr so weitermachen.
Alternativ kannst du mich ruhig in "deine Signatur-Plaktierung" aufnehmen.
Anzeige
AW: Wenn ich dir vom Administrator
24.11.2018 15:22:03
Hajo_Zi
Wie kindisch! oW
24.11.2018 20:52:50
Luc:-?
:-?
AW: Wenn ich dir vom Administrator
25.11.2018 08:12:42
Hajo_Zi
Anzeige
AW: Wenn ich dir vom Administrator
28.11.2018 09:52:01
robert

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Gefilterte Zeilen in eine neue Excel-Datei übertragen


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei mit den gefilterten Daten.

  2. Aktiviere die Entwicklertools. Falls sie noch nicht sichtbar sind, gehe zu Datei -> Optionen -> Menüband anpassen und aktiviere die Entwicklertools.

  3. Öffne den VBA-Editor durch Drücken von ALT + F11.

  4. Füge ein neues Modul hinzu:

    • Rechtsklick auf VBAProject (deineDatei.xlsm) -> Einfügen -> Modul.
  5. Kopiere den folgenden Code in das Modul:

    Sub GefilterteDatenSpeichern()
       Dim ws As Worksheet
       Dim rng As Range
       Dim cell As Range
       Dim newWorkbook As Workbook
       Dim streetName As String
       Dim savePath As String
    
       Set ws = ThisWorkbook.Sheets("DeinTabellenblatt") ' Ändere dies nach Bedarf
       Set rng = ws.Range("B2:B" & ws.Cells(ws.Rows.Count, "B").End(xlUp).Row).SpecialCells(xlCellTypeVisible)
    
       For Each cell In rng
           streetName = cell.Value
           Set newWorkbook = Workbooks.Add
    
           ws.Rows(cell.Row).Copy Destination:=newWorkbook.Sheets(1).Rows(1) ' Kopiert die gesamte Zeile
    
           savePath = "C:\Users\Oli\Desktop\" & streetName & ".xls"
           newWorkbook.SaveAs Filename:=savePath
           newWorkbook.Close SaveChanges:=False
       Next cell
    End Sub
  6. Schließe den VBA-Editor und gehe zurück zu Excel.

  7. Führe den Makro aus über Entwicklertools -> Makros, wähle GefilterteDatenSpeichern und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Keine sichtbaren Zellen"

    • Lösung: Stelle sicher, dass du die Tabelle gefiltert hast und dass tatsächlich Daten sichtbar sind.
  • Fehler: "Dateiname ungültig"

    • Lösung: Überprüfe, ob der Straßenname in Zelle B2 ungültige Zeichen (z.B. / , \ , :) enthält.

Alternative Methoden

Eine einfache Methode besteht darin, die gefilterten Daten manuell zu kopieren und in ein neues Tabellenblatt einzufügen. Du kannst auch den Makrorecorder verwenden, um die Befehle aufzuzeichnen, die du für das Kopieren der gefilterten Daten benötigst.


Praktische Beispiele

Angenommen, du hast eine Excel-Tabelle mit folgenden Daten:

A B C D E
ID Straße Ort PLZ Mieter
1 Amalienstraße Berlin 10117 Max
2 Kurfürstenstraße Berlin 10115 Anna
3 Amalienstraße Köln 50667 Peter

Mit dem oben genannten VBA-Skript kannst du alle gefilterten Daten für "Amalienstraße" in eine separate Excel-Datei exportieren.


Tipps für Profis

  • Nutze Fehlerbehandlungsroutinen in VBA, um sicherzustellen, dass deine Makros auch bei unerwarteten Eingaben robust bleiben.
  • Experimentiere mit Variablen für die Pfade, um die Wartbarkeit des Codes zu erhöhen.

FAQ: Häufige Fragen

1. Kann ich auch nur bestimmte Spalten kopieren?
Ja, ändere die Rows(cell.Row).Copy Zeile, um nur die gewünschten Spalten zu kopieren, z.B. ws.Range("A" & cell.Row & ":E" & cell.Row).Copy.

2. Funktioniert das auch in Excel 365?
Ja, das VBA-Skript funktioniert in Excel 365 und älteren Versionen, solange die Entwicklertools aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige