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

Forumthread: Fehler mittels VBA finden

Fehler mittels VBA finden
12.02.2009 21:27:00
Günther
Hallo zusammen!
Gibt es eine Vorlage eines Makros, welches mir sämtliche Fehler (#NV, DIV/0 usw.) in einem Worksheet anzeigt? Kann jemand mal einen entsprechenden VBA-Code zur Verfügung stellen?
Besten Dank!
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler mittels VBA finden
12.02.2009 21:40:00
Gerd
Hallo Günther,
reicht das?

Sub test()
On Error Resume Next
Worksheets("Tabelle1").Cells.SpecialCells(xlCellTypeFormulas, xlErrors).Select
End Sub


AW: Fehler mittels VBA finden
12.02.2009 21:52:00
Günther
leider nein! Das Makro soll mir die Zellen, welche Fehler enthalten entweder als Liste ausgeben oder einfärben oder beides. Besten Dank vorab für weitere Vorschläge!
Anzeige
AW: Fehler mittels VBA finden
12.02.2009 21:57:00
Daniel
Hi
du kannst mit Gerd Vorschlag doch weiterarbeiten:
Einfärben:

Sub test()
On Error Resume Next
Worksheets("Tabelle1").Cells.SpecialCells(xlCellTypeFormulas, xlErrors).interior.colorindex = 2
End Sub


Auflisten der Zelladdressen:


Sub test()
dim i as long
dim Zelle as range
sheets("Tabelle2").columns(1).Clearcontents
On Error Resume Next
For each Zelle in  Worksheets("Tabelle1").Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
i = i + 1
Sheets("Tabelle2").Cells(i, 1).Value = Zelle.Address(0,0)
next
End Sub


gruß, Daniel

Anzeige
AW: Fehler mittels VBA finden
12.02.2009 22:11:00
Gerd
Ja, oder am Stück.

Sub test2()
Dim Rng As Range
On Error Resume Next
Worksheets("Tabelle1").Cells.SpecialCells(xlCellTypeFormulas, xlErrors).Interior.Color =  _
vbYellow
For Each Rng In Worksheets("Tabelle1").Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Rng.Address(0, 0)
Worksheets("Tabelle2").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0) = Rng.Text
Next
End Sub


Grüße Gerd

Anzeige
AW: Fehler mittels VBA finden
12.02.2009 22:41:00
Günther
Besten Dank euch beiden! Dass war's, was ich wollte!
;
Anzeige
Anzeige

Infobox / Tutorial

Fehler in Excel mittels VBA finden und beheben


Schritt-für-Schritt-Anleitung

Um Fehler wie #NV oder DIV/0 in einem Excel-Arbeitsblatt zu finden, kannst Du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie Du das umsetzt:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub FehlerFinden()
       Dim Rng As Range
       On Error Resume Next
       Worksheets("Tabelle1").Cells.SpecialCells(xlCellTypeFormulas, xlErrors).Interior.Color = vbYellow
       For Each Rng In Worksheets("Tabelle1").Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
           Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Rng.Address(0, 0)
           Worksheets("Tabelle2").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0) = Rng.Text
       Next
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Um das Makro auszuführen, gehe zu Entwicklertools > Makros, wähle FehlerFinden aus und klicke auf Ausführen.

Das Makro wird nun alle Fehler in "Tabelle1" einfärben und die Zelladressen sowie die Fehlertexte in "Tabelle2" auflisten.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004"

    • Lösung: Dieser Fehler tritt auf, wenn es keine Fehlerzellen gibt. Stelle sicher, dass in "Tabelle1" tatsächlich Fehler vorhanden sind.
  • Fehler: "Objektvariable nicht festgelegt"

    • Lösung: Überprüfe, ob die Arbeitsblätter "Tabelle1" und "Tabelle2" existieren. Andernfalls benenne die Arbeitsblätter entsprechend oder passe den Code an.

Alternative Methoden

Du kannst auch die Fehlerprüfung ohne VBA durchführen:

  1. Gehe zu Formeln > Fehlerüberprüfung.
  2. Dort kannst Du nach Fehlern suchen und diese manuell beheben.

Zusätzlich kannst Du bedingte Formatierung verwenden, um Fehlerzellen hervorzuheben:

  1. Wähle die Zellen aus, die Du überprüfen möchtest.
  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
  3. Wähle Zellen formatieren, die enthalten und gib die Bedingung für Fehler ein.

Praktische Beispiele

Hier sind einige nützliche VBA-Codes:

  • Einfärben der Fehlerzellen:

    Sub FehlerEinfärben()
       On Error Resume Next
       Worksheets("Tabelle1").Cells.SpecialCells(xlCellTypeFormulas, xlErrors).Interior.ColorIndex = 3 ' Rot
    End Sub
  • Auflisten der Zelladressen ohne Einfärbung:

    Sub FehlerAuflisten()
       Dim i As Long
       Dim Zelle As Range
       Sheets("Tabelle2").Columns(1).ClearContents
       On Error Resume Next
       For Each Zelle In Worksheets("Tabelle1").Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
           i = i + 1
           Sheets("Tabelle2").Cells(i, 1).Value = Zelle.Address(0, 0)
       Next
    End Sub

Tipps für Profis

  • Nutze die On Error Resume Next-Anweisung mit Bedacht. Sie verhindert, dass das Makro bei einem Fehler stoppt, kann aber auch dazu führen, dass andere wichtige Fehler ignoriert werden.
  • Experimentiere mit verschiedenen ColorIndex-Werten, um die Fehlerzellen farblich hervorzuheben.
  • Erstelle eine benutzerdefinierte Fehlermeldung, um das Debugging zu erleichtern.

FAQ: Häufige Fragen

1. Kann ich das Makro auch für andere Arbeitsblätter verwenden? Ja, ändere einfach den Namen der Arbeitsblätter im VBA-Code zu dem gewünschten Blatt.

2. Wie kann ich das Makro automatisch ausführen lassen? Du kannst das Makro in das Workbook_Open-Ereignis einfügen, sodass es beim Öffnen der Datei automatisch ausgeführt wird.

3. Was mache ich, wenn ich keine Programmiererfahrung habe? Keine Sorge! Du kannst den bereitgestellten VBA-Code einfach kopieren und in den VBA-Editor einfügen, ohne selbst programmieren zu müssen.

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