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: