Wer kennt das Problem nicht, dass Excel in der rechten oberen Ecke der Zelle ein kleines grünes Dreieck anzeigt als Hinweis, dass die Formel dieser Zelle beispielsweise nicht alle angrenzenden Zellen einschließt. “Schuld” daran ist die Fehlerüberprüfung. Gut ist, dass Excel diese kleine grünen Dreiecke nicht ausdruckt. Wenn man aber einen Screenshot vom Tabellenblatt macht, dann ist dieses grüne Dreieck drauf. Ich persönlich finde das ziemlich störend.

Fehlerüberprüfung manuell deaktivieren
Wie bekommt man das aber weg. Die Otto-Normalverbraucherlösung ist über die Optionen die Fehlerüberprüfung zu deaktivieren:

Fehlerüberprüfung programmatisch deaktivieren
Schnell ist das natürlich nicht – ein paar Sekunden gehen da schon drauf. Man kann auch mittels VBA diese Einstellung aktivieren bzw. deaktivieren. Der Befehl dafür lautet.
Application.ErrorCheckingOptions.BackgroundChecking = False
Will man diese Funktion auf einen Button legen, dann braucht man folgende Prozedur
Fehlerüberprüfung aktivieren/deaktivieren
Public Sub Fehlerueberpruefung() Application.ErrorCheckingOptions.BackgroundChecking = Not Application.ErrorCheckingOptions.BackgroundChecking
End Sub
Die Prozedur kann man nun mit einem Button verknüpfen:

einzelne Fehlerüberprüfungen deaktivieren (manuell, programmatisch)
Will man nicht gleich alle ErrorCheckingOptions abstellen, sondern nur ausgewählte, dann kann man das auch.

einzelne Fehlermeldungen aktivieren/deaktivieren
' Prozedur zum Ausschalten verschiedener Excel-Fehleranzeigen | |
Sub Fehler_anzeigen_ausschalten() | |
Fehler False | |
End Sub | |
' Prozedur zum Einschalten verschiedener Excel-Fehleranzeigen | |
Sub Fehler_anzeigen_einschalten() | |
Fehler True | |
End Sub | |
' Hilfsprozedur, die verschiedene Fehleranzeigeoptionen basierend auf einem Booleschen Wert setzt | |
Sub Fehler(bbool As Boolean) | |
With Application.ErrorCheckingOptions | |
' Schaltet Warnungen für Zahlen aus, die als Text formatiert sind oder denen ein Apostroph vorangestellt ist | |
.NumberAsText = bbool | |
' Schaltet Warnungen für Formeln aus, die sich auf leere Zellen beziehen | |
.EmptyCellReferences = bbool | |
' Schaltet Warnungen für Zellen aus, die Formeln enthalten, die zu einem Fehler führen | |
.EvaluateToError = bbool | |
' Schaltet Warnungen für Formeln aus, die im Vergleich zu anderen Formeln im selben Bereich inkonsistent sind | |
.InconsistentFormula = bbool | |
' Schaltet Warnungen für inkonsistente berechnende Spaltenformeln in Tabellen aus | |
.ListDataValidation = bbool | |
' Schaltet Warnungen für Formeln aus, die sich nicht auf alle Zellen in einem Bereich beziehen | |
.OmittedCells = bbool | |
' Schaltet Warnungen für nicht gesperrte Zellen aus, die sich auf leere Zellen beziehen | |
.UnlockedFormulaCells = bbool | |
' Schaltet Warnungen für Zellen aus, die zweistellige Jahreszahlen enthalten | |
.TextDate = bbool | |
End With | |
End Sub |
Fehler ignorieren (manuell, programmatisch)
Aber was ist, wenn man nicht gleich für die gesamte Applikation die Fehlerüberprüfung ausschalten möchte. Hierzu gibt es im Kontextmenü der Zelle die Möglichkeit den Fehler in der ausgewählten Zelle zu ignorieren.

Aber wie macht man das programmatisch?
Fehlermeldungen für einzelne Zellen ignorieren
' Prozedur zum Ignorieren spezifischer Fehlerarten in den ausgewählten Zellen | |
Sub Ignore_myErrors() | |
' Durchläuft jede Zelle im ausgewählten Bereich | |
Dim rngCell As Range | |
For Each rngCell In Selection | |
' Durchläuft die bekannten Fehlerarten und ignoriert sie | |
' Werte entsprechen den XlErrorChecks-Enumerationen | |
Dim i As Integer | |
For i = 1 To 7 | |
' Setzt die Ignore-Eigenschaft auf True, um die Fehlerwarnung zu ignorieren | |
rngCell.Errors.Item(i).Ignore = True | |
Next i | |
Next rngCell | |
End Sub |
Farbe des Fehlerhinweises ändern (manuell, programmatisch)
Abschließend noch einen Hinweis, wie man programmatisch die Farbe ändern kann, damit das Dreieck nicht grün, sonder beispielsweise Rot erscheint.

Links: