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

Forumthread: Nach #NV im Filter VBA suchen

Nach #NV im Filter VBA suchen
Guillaume
Hallo,
in meiner Tabelle mit Filtern habe ich auf Grund einer Verweisfunktion die Meldung #NV bei Zellen, die sich in dem Verweismatrix nicht wiederfinden.
Jetzt möchte ich aber in VBA ein Filter nach diesen "#NV" Zellen machen.
Kann jemand mir helfen?
Anzeige

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

Betreff
Benutzer
Anzeige
Nach #NV im Filter VBA suchen - eine Krücke
Boris
Hi Guillaume,
...tatsächlich kann man händisch nach #NV filtern - aus VBA heraus aber nicht - komisch...?!?
Workaround:
Alle Zeilen im Bereich ausblenden und über SpecialCells die Errors (allerdings alle) wieder einblenden - hier mal bezogen auf Spalte A in der Art:
Option Explicit

Sub NV()
Dim Bereich As Range
Rows("2:100").Hidden = True
Set Bereich = Range("A:A").SpecialCells(xlCellTypeFormulas, xlErrors)
Bereich.EntireRow.Hidden = False
End Sub

Grüße Boris
Anzeige
AW: Nach #NV im Filter VBA suchen
Boris
Hi Guillaume,
Ramses hat mir die Lösung (außerhalb des Forums) geliefert:

Sub filter_nach_nv()
Range("A1").AutoFilter 1, "#N/A"
End Sub

Also die englische Bezeichnung des Fehlerwertes ist angesagt...
Grüße Boris
AW: Nach #NV im Filter VBA suchen
Guillaume
Bonjour Boris,
das versuche ich auch, danke. Deine Lösung hatte auch sehr gut geklappt. Nun werde ich diese 2 Lösungne mit einer anderen Möglichkeit vergleichen, die ich in diesem (?) Forum auch gesehen hatte, indem ich in dem Excel Verweisformel einfach ein Text im Zell schreibe, wenn der Wert #NV ist:
=WENN(ISTFEHLER(SVERWEIS(D3;Matrix;2;FALSCH));"Fehler";SVERWEIS(D3;Matrix;2;FALSCH))
Das sollte ich nun auch im VBA umschreiben...
Grüße
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Nach #NV im Filter VBA suchen


Schritt-für-Schritt-Anleitung

Um in Excel nach den Fehlerwerten #NV zu filtern, kannst Du folgendes VBA-Skript verwenden. Dieses Skript filtert die Zellen in Spalte A und zeigt nur die Zellen an, die den Fehler #N/A enthalten.

  1. Öffne die Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf "Einfügen" und wähle "Modul", um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Sub filter_nach_nv()
    Range("A1").AutoFilter 1, "#N/A"
End Sub
  1. Schließe den VBA-Editor.
  2. Kehre zu Excel zurück und führe das Makro aus, um die gewünschten Zellen zu filtern.

Häufige Fehler und Lösungen

  • Fehler: Nach Ausführung des Makros wird nichts gefiltert.
    Lösung: Stelle sicher, dass die Daten in Spalte A tatsächlich Fehlerwerte (#N/A) enthalten. Die Filterfunktion funktioniert nur, wenn der Fehler in der Zelle vorhanden ist.

  • Fehler: Die Filteroptionen sind ausgegraut.
    Lösung: Überprüfe, ob der AutoFilter für den Datenbereich aktiviert ist. Du kannst dies manuell über die Registerkarte "Daten" in Excel aktivieren.


Alternative Methoden

Falls Du eine andere Methode zur Filterung der #NV-Werte nutzen möchtest, kannst Du auch die SpecialCells-Methode verwenden. Hier ist ein Beispiel, wie Du alle Zeilen im Bereich ausblenden und nur die Zellen mit Fehlern erneut anzeigen kannst:

Sub NV()
    Dim Bereich As Range
    Rows("2:100").Hidden = True
    Set Bereich = Range("A:A").SpecialCells(xlCellTypeFormulas, xlErrors)
    Bereich.EntireRow.Hidden = False
End Sub

Diese Methode zeigt alle Zeilen an, wo ein Fehler vorhanden ist, und blendet alle anderen aus.


Praktische Beispiele

Nehmen wir an, Du hast eine Liste von Werten in Spalte A, und einige davon führen aufgrund einer Verweisfunktion zu #NV. Mit dem oben genannten VBA-Code kannst Du gezielt nach diesen Fehlern filtern und nur die relevanten Zeilen anzeigen.

Ein Beispiel für eine Formel in einer Zelle könnte so aussehen:

=WENN(ISTFEHLER(SVERWEIS(D3;Matrix;2;FALSCH));"Fehler";SVERWEIS(D3;Matrix;2;FALSCH))

Diese Formel ersetzt #NV durch den Text "Fehler". Dies kann hilfreich sein, wenn Du die Fehlerwerte nicht nur filtern, sondern auch visualisieren möchtest.


Tipps für Profis

  • Wenn Du regelmäßig mit #NV-Fehlern arbeitest, kannst Du die VBA-Skripte in eine Schaltfläche auf Deinem Excel-Blatt einfügen, um die Ausführung zu vereinfachen.
  • Experimentiere mit verschiedenen Filterkriterien, um spezifische Fehlerwerte anzuzeigen. Beispielsweise kannst Du auch nach anderen Fehlern filtern, indem Du den Filterwert entsprechend änderst.
  • Füge Kommentare in Deinen VBA-Code ein, um die Lesbarkeit zu erhöhen und die Wartung zu erleichtern.

FAQ: Häufige Fragen

1. Frage
Kann ich den #NV-Fehler auch in einer anderen Sprache filtern?
Antwort: Ja, Du musst den entsprechenden Fehlerbegriff für die gewählte Sprache verwenden, z.B. "#N/A" für die englische Version von Excel.

2. Frage
Wie kann ich den Filter zurücksetzen?
Antwort: Du kannst den Filter zurücksetzen, indem Du das folgende VBA-Skript ausführst:

Sub FilterZuruecksetzen()
    ActiveSheet.AutoFilterMode = False
End Sub

Mit diesen Anleitungen kannst Du erfolgreich nach #NV in Deinen Excel-Daten filtern und die gewünschten Fehlerwerte effektiv bearbeiten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige