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

Forumthread: Ausgeblendete Zeilen auslesen VBA! Pls Hilfe

Ausgeblendete Zeilen auslesen VBA! Pls Hilfe
25.10.2013 14:44:08
Thorben
Hallo liebe Excelgenmeinde,
in der Suche habe ich nichts passendes gefunden drum frage ich hier nochmal um Hilfe.
Ich habe eine Tabelle mit Daten von A1 bis Z5000 gefüllt
nun wende ich nacheinander in mehreren Spalten den Autofilter an:
Als Bsp.:
Spalte A zeige nur Nummern die Mit 100 beginnen
Spalte M zeige nur wo X drin steht
Spalte O zeige nur wo Y drin steht usw.
Nun möchte ich am Ende alles (alle Zeilen) von dem was ausgeblendet ist, also rausgefiltert bzw. nicht angezeigt per VBA in eine neue Tabelle schreiben.
Kann mir jemdand ad-hoc helfen. Vielleicht hat je einer einen fertigen Code zum anpassen.
Vielen Dank schon einmal,
MfG
Thorben

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausgeblendete Zeilen auslesen VBA! Pls Hilfe
25.10.2013 14:59:10
ransi
Hallo Thorben
Setze einen neuen Filter:
Spalte A beginnt nicht mit 100
Spalte M x
Spalte O y
Das Filterergebniß kopieren und in die neue Tabelle einfügen.
?
ransi

AW: Ausgeblendete Zeilen auslesen VBA! Pls Hilfe
25.10.2013 14:59:17
ransi
Hallo Thorben
Setze einen neuen Filter:
Spalte A beginnt nicht mit 100
Spalte M x
Spalte O y
Das Filterergebniß kopieren und in die neue Tabelle einfügen.
?
ransi

Anzeige
AW: Ausgeblendete Zeilen auslesen VBA! Pls Hilfe
25.10.2013 15:17:01
UweD
Hallo
Ich habe jetzt nicht geprüft, ob das negieren genau deine gesuchten Daten ergibt...
so ginge es..

Sub Thorben()
On Error GoTo Fehler
Dim TB1, TB2, i%
Dim LR1&, LR2&
Set TB1 = ActiveSheet
Set TB2 = Sheets("Tabelle2")
LR1 = TB1.Cells.SpecialCells(xlCellTypeLastCell).Row 'Letzte Zeile des gesamten Blattes
Application.ScreenUpdating = False
TB2.Cells.Delete 'reset
For i = 1 To LR1
If TB1.Rows(i).Hidden = True Then
LR2 = TB2.Cells.SpecialCells(xlCellTypeLastCell).Row + 1
TB1.Rows(i).Copy TB2.Cells(LR2, 1)
TB2.Cells(LR2, 1).EntireRow.Hidden = False
End If
Next
Err.Clear
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub

Gruß UweD

Anzeige
AW: Ausgeblendete Zeilen auslesen VBA! Pls Hilfe
29.10.2013 10:19:43
Thorben
Hallo Uwe,
Perfekt! Vielen Dank, genau so etwas habe ich gebraucht.
Noch kurz zu Ransi´s Idee und der Frage wofür braucht man sowas!?
Ich habe eine Liste die den lieben langen Tag hindurch immer wieder um weitere Daten, die manuell nach und nach ausgeblendet werden, erweitert wird.
Nun kommt es vor das ein anderer als ich diese "ausblenderei" fortführt.
Am Ende des Tages möchte ich aber gerne wissen welche Daten eben "nicht" berücksichtigt wurden, ohne
zu rekapitulieren oder irgendwelche copy paste Zwischenschritte durchzuführen.
And Voila, keep it simple if possible!
@Uwe, nochmal vielen Dank!
MfG aus dem kühlen Norden
Thorben
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Ausgeblendete Zeilen in Excel mit VBA auslesen


Schritt-für-Schritt-Anleitung

Um ausgeblendete Zeilen in Excel mit VBA auszulesen und in eine neue Tabelle zu schreiben, folge diesen Schritten:

  1. Öffne Deine Excel-Datei.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Füge ein neues Modul hinzu, indem Du mit der rechten Maustaste auf "VBAProject (DeinDateiname)" klickst und "Einfügen" > "Modul" wählst.
  4. Kopiere den folgenden VBA-Code in das Modul:
Sub AusgeblendeteZeilenAuslesen()
    On Error GoTo Fehler
    Dim TB1 As Worksheet, TB2 As Worksheet
    Dim LR1 As Long, LR2 As Long
    Set TB1 = ActiveSheet
    Set TB2 = Sheets("Tabelle2") ' Stelle sicher, dass Tabelle2 existiert
    LR1 = TB1.Cells.SpecialCells(xlCellTypeLastCell).Row ' Letzte Zeile des Blattes
    Application.ScreenUpdating = False
    TB2.Cells.Clear ' Tabelle2 leeren

    For i = 1 To LR1
        If TB1.Rows(i).Hidden = True Then
            LR2 = TB2.Cells.SpecialCells(xlCellTypeLastCell).Row + 1
            TB1.Rows(i).Copy TB2.Cells(LR2, 1)
            TB2.Cells(LR2, 1).EntireRow.Hidden = False
        End If
    Next i
    Err.Clear
    Exit Sub

Fehler:
    MsgBox "Fehler: " & Err.Number & vbLf & Err.Description
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Führe das Makro aus, indem Du ALT + F8 drückst, das Makro auswählst und auf "Ausführen" klickst.

Damit werden alle ausgeblendeten Zeilen (also die, die durch Filter nicht angezeigt werden) in die Tabelle "Tabelle2" geschrieben.


Häufige Fehler und Lösungen

  • Fehler: "Tabelle2 existiert nicht"
    Stelle sicher, dass Du eine Tabelle mit dem Namen "Tabelle2" in Deiner Arbeitsmappe hast. Du kannst den Namen im Code anpassen, falls erforderlich.

  • Makro läuft nicht korrekt
    Überprüfe, ob Du im richtigen Arbeitsblatt bist, bevor Du das Makro startest. Das Makro arbeitet nur auf dem aktiven Blatt.


Alternative Methoden

Falls Du kein VBA verwenden möchtest, kannst Du die ausgeblendeten Daten auch manuell auslesen:

  1. Setze den Autofilter so, dass nur die Zeilen angezeigt werden, die Du sehen möchtest.
  2. Wähle alle sichtbaren Zeilen aus.
  3. Kopiere die sichtbaren Zeilen und füge sie in eine neue Tabelle ein.
  4. Setze den Filter zurück, um alle Daten wieder anzuzeigen.

Diese Methode ist jedoch weniger automatisiert als die VBA-Lösung.


Praktische Beispiele

Ein praktisches Beispiel könnte eine Verkaufsdaten-Tabelle sein, bei der Du alle ausgeblendeten Verkaufsdaten auslesen möchtest, die nicht den Kriterien eines bestimmten Filters entsprechen. Das oben genannte Makro hilft Dir, diese Daten systematisch in eine neue Tabelle zu übertragen, ohne dass Du manuelle Kopier- und Einfügeoperationen durchführen musst.


Tipps für Profis

  • Code anpassen: Du kannst den Code erweitern, um zusätzliche Bedingungen für das Kopieren der ausgeblendeten Zeilen einzufügen.
  • Fehlerbehandlung: Achte darauf, dass die Fehlerbehandlung im Code klar ist, um Probleme während der Ausführung zu identifizieren.
  • Makro optimieren: Teste den Code zunächst mit einer kleineren Datenmenge, um sicherzustellen, dass alles wie gewünscht funktioniert, bevor Du ihn auf große Datenmengen anwendest.

FAQ: Häufige Fragen

1. Wie kann ich das Makro für andere Tabellen verwenden?
Du musst lediglich den Namen der Ziel-Tabelle im Code anpassen, um die ausgeblendeten Daten dorthin zu kopieren.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der Code sollte in den meisten aktuellen Excel-Versionen (ab Excel 2010) funktionieren, solange VBA unterstützt wird.

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