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
Anzeige