Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: kopieren abbrechen

kopieren abbrechen
10.11.2015 13:54:44
Gast123
Hallo liebes Forum,
Ich filtere eine Tabelle nach bestimmten Kriterien und kopiere die gefundenen Zellen dann in ein anderes Tabellenblatt.
Alles klappt soweit ganz gut.
Wenn der Autofilter jedoch keine passenden Zellen, die den Kriterien entsprechen, findet, stürzt das Programm ab, da endlos viele leere Zeilen kopiert werden.
Kann mir nun jemand bitte helfen?
Ich hätte gerne eine Anweisung die das Kopieren abbricht, sobald beim Filtern keine passenden Zellen gefunden wurden.
Zum Beispiel, dass die Prozedur verlassen wird, wenn keine gefilterten Zellen sichtbar sind.
Ich bedanke mich schon einmal im Voraus.
Grüße

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: kopieren abbrechen
10.11.2015 14:37:30
Daniel
Hi
ob werte gefunden wurden kannst du so feststellen:

if ActiveSheet.Autfilter.Range.Columns(1).SpecialCells(xlcelltypevisible).Count > 1 Then
hier der Code zum Kopieren
end If
Gruß Daniel

AW: kopieren abbrechen
10.11.2015 15:24:56
Luschi
Hallo Gast123,
ich mach das so:

Dim n As Long
n = ActiveSheet.AutoFilter.Range.Columns(1). _
SpecialCells(xlCellTypeVisible).Count - 1
If n = 1 Then
MsgBox "Es wurde " & n & " Datensatz gefunden!", 48
ElseIf n > 1 Then
MsgBox "Es wurden " & n & " Datensätze gefunden!", 48
Else
MsgBox "Es wurden keine Datensätze gefunden!", 16
'Prozedur-Ende
Exit Sub
End If
'hier gehts weiter mit dem Kopieren
Gruß von Luschi
aus klein-Paris

Anzeige
AW: kopieren abbrechen
10.11.2015 15:29:20
Gast123
Moin Daniel,
Ich als Anfänger danke dir wirklich sehr!
Das hat mir eindeutig weiter geholfen
LG
;
Anzeige

Infobox / Tutorial

Kopieren abbrechen in Excel: Schritt-für-Schritt-Anleitung


Schritt-für-Schritt-Anleitung

Um das Kopieren in Excel abzubrechen, wenn keine passenden Zellen gefunden werden, kannst du die folgende VBA-Prozedur verwenden. Diese wird sicherstellen, dass nur dann kopiert wird, wenn tatsächlich gefilterte Zellen sichtbar sind.

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject (deinArbeitsblatt)" klickst, dann auf "Einfügen" und "Modul".

  3. Kopiere den folgenden Code und füge ihn in das Modul ein:

    Sub KopierenAbbrechen()
       Dim n As Long
       n = ActiveSheet.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Count - 1
    
       If n = 1 Then
           MsgBox "Es wurde " & n & " Datensatz gefunden!", 48
       ElseIf n > 1 Then
           MsgBox "Es wurden " & n & " Datensätze gefunden!", 48
           ' Hier der Code zum Kopieren
       Else
           MsgBox "Es wurden keine Datensätze gefunden!", 16
           ' Prozedur-Ende
           Exit Sub
       End If
       ' Hier gehts weiter mit dem Kopieren
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus, indem du ALT + F8 drückst, das Makro auswählst und auf "Ausführen" klickst.


Häufige Fehler und Lösungen

  • Fehler: „Laufzeitfehler 1004: Keine Zellen gefunden“

    • Lösung: Stelle sicher, dass der Autofilter aktiv ist und dass du mindestens eine Zelle mit Daten in der gefilterten Spalte hast.
  • Fehler: Das Makro funktioniert nicht wie erwartet.

    • Lösung: Überprüfe, ob die Autofilter-Einstellungen korrekt sind. Der Code geht davon aus, dass die Filter auf die erste Spalte angewendet werden.

Alternative Methoden

Eine alternative Methode zur Überprüfung, ob gefilterte Zellen vorhanden sind, ist die Verwendung von Excel-Formeln oder bedingten Formatierungen. Du könntest beispielsweise eine Formel in einer Hilfsspalte verwenden, die die Anzahl der gefilterten Datensätze zählt. Diese Methode ist jedoch weniger dynamisch als die VBA-Lösung.


Praktische Beispiele

  • Beispiel 1: Du hast eine Liste von Verkäufen mit dem Autofilter aktiviert. Stelle sicher, dass du nur dann kopierst, wenn mindestens eine Zelle sichtbar ist. Verwende den oben beschriebenen VBA-Code, um dies zu überprüfen.

  • Beispiel 2: Wenn du Daten aus einem Bericht in ein anderes Arbeitsblatt kopieren möchtest, kannst du den gleichen Ansatz verwenden, um sicherzustellen, dass nur die sichtbaren Datensätze kopiert werden.


Tipps für Profis

  • Testen des Codes: Führe den VBA-Code in einer Testumgebung aus, bevor du ihn in einem wichtigen Arbeitsblatt verwendest.
  • Automatisierung: Überlege, den Code so zu erweitern, dass er auch das Kopieren der Daten automatisiert, falls Datensätze gefunden werden.
  • Fehlerbehandlung: Füge zusätzliche Fehlerbehandlungsroutinen hinzu, um unerwartete Probleme während der Ausführung zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich den Autofilter in Excel aktivieren?
Um den Autofilter zu aktivieren, markiere die Daten in deinem Arbeitsblatt, gehe zu „Daten“ und klicke auf „Filter“.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der VBA-Code sollte in Excel 2007 und späteren Versionen funktionieren, solange die Autofilter-Funktion verfügbar ist.

3. Was mache ich, wenn ich mehrere Spalten filtern möchte?
Du kannst den Code anpassen, indem du die Spaltennummer in der Columns-Eigenschaft änderst oder eine Schleife verwendest, um mehrere Spalten zu überprüfen.

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