[Excel] Fehler ignorieren (grüne Dreiecke)
Gepostet am: Sep 21, 2012 7:46:40 PM
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
Sub Fehler_anzeigen_ausschalten() Fehler FalseEnd SubSub Fehler_anzeigen_einschalten() Fehler TrueEnd SubSub Fehler(bbool As Boolean) With Application.ErrorCheckingOptions .NumberAsText = bbool 'Zahlen, die als Text formatiert sind oder denen ein Apostroph vorangestellt ist .EmptyCellReferences = bbool 'Formeln, die sich auf leere Zellen beziehen .EvaluateToError = bbool 'Zellen mit Formeln, die zu einem Fehler führen .InconsistentFormula = bbool 'Formeln, die mit anderen Formeln im Bereich inkonsistent sind .ListDataValidation = bbool 'inkonsistente berechnende Spaltenformel in Tabellen .OmittedCells = bbool 'Formeln, die sich nicht auf alle Zellen im Bereich beziehen .UnlockedFormulaCells = bbool 'nicht gesperrte Zellen, die sich auf leere Zellen beziehen .TextDate = bbool 'Zellen, die zweistellige Jahreszahlen enthalten End WithEnd 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
Sub Ignore_myErrors()'Members of 'XlErrorChecks''Value Const'7 xlEmptyCellReferences'1 xlEvaluateToError'4 xlInconsistentFormula'3 xlNumberAsText'5 xlOmittedCells'2 xlTextDate'6 xlUnlockedFormulaCells Dim i As Integer Dim rngCell As Range For Each rngCell In Selection For i = 1 To 7 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.