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!
Sub test()
On Error Resume Next
Worksheets("Tabelle1").Cells.SpecialCells(xlCellTypeFormulas, xlErrors).Select
End Sub
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
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
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:
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
Klicke auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.
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
Schließe den VBA-Editor und gehe zurück zu Excel.
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.
Fehler: "Laufzeitfehler 1004"
Fehler: "Objektvariable nicht festgelegt"
Du kannst auch die Fehlerprüfung ohne VBA durchführen:
Formeln > Fehlerüberprüfung.Zusätzlich kannst Du bedingte Formatierung verwenden, um Fehlerzellen hervorzuheben:
Start > Bedingte Formatierung > Neue Regel.Zellen formatieren, die enthalten und gib die Bedingung für Fehler ein.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
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.ColorIndex-Werten, um die Fehlerzellen farblich hervorzuheben. 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.