Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Fehlermeldung via VBA Ausblenden

Betrifft: Fehlermeldung via VBA Ausblenden von: Hubitz
Geschrieben am: 05.10.2007 12:15:59

Hallo Forum,
kleines Problem kurz vor dem Wochenende...

Ich habe (auch oder erst recht mit Eurer Hilfe) mein Excel- Programm fertig geschrieben.
Jetzt zeigt es mir aber häufig Fehlermeldungen an wenn zu Beginn der Berechnung ein Wert fehlt. Das zieht sich dann natürlich wie ein Rattenschwanz durch das Programm.Kann ich diese Fehlermeldungen "auf einen Schlag" mit einem Makro ausblenden? sowas wie
>>> wenn(istfehler(...);"") <<< (nur als Makro, welches jedes Sheet überprüft) ?

Wäre über einen Tip sehr dankbar!!

Gruß
hubitz

  

Betrifft: AW: Fehlermeldung via VBA Ausblenden von: Andi
Geschrieben am: 05.10.2007 12:57:20

Hi,

Du kannst mit der on error-Anweisung in eine Fehlerbehandlungsroutine springen, und dort festlegen, was passieren soll; zB eine Meldung ausgeben, oder mit resume next einfach weiter machen und den Fehler ignorieren:

Sub t()
On Error GoTo errorhandler
'hier steht Dein Makro
Exit Sub
errorhandler:
'nur ein Beispiel
Select Case Err.Number
  Case 11
    MsgBox "Abbruch, Division durch Null"
  Case Else
    Resume Next 'Setzt den Code nach der fehlerhaften Zeile fort
End Select
End Sub



Speziell resume next ist aber mit äußerster Vorsicht zu geniessen, weil das Verhalten Deines Programms unberechenbar wird. Besser ist es, zB vor einer Berechnung mit einer if-Abfrage zu überprüfen, ob alle notwendigen Werte vorhanden sind, und wenn nicht, entweder die Berechnung überspringen oder den user auffordern, den fehlenden Wert einzugeben.

Schönen Gruß,
Andi


  

Betrifft: AW: Fehlermeldung via VBA Ausblenden von: Hubitz
Geschrieben am: 05.10.2007 13:07:46

Hallo Andi,
schönen Dank schonmal für Dein Makro.
Eigentlich gehts mir ja nur darum, so ein Makro einzubetten, damit ich nicht vor jede Excel Funktion eine Fehlerüberprüfung einbauen muss. Wenn dann in irgendeiner Zelle ein #WERT o.Ä. kommt, soll er es einfach ausblenden!

Ich hab nämlich eine Aktualisierung eingebaut, wenn die bebätigt wird, lösen sich die Fehlermeldungen eh auf.
Hoffe Du kannst meinem Kauderwelsch folgen...



  

Betrifft: AW: Fehlermeldung via VBA Ausblenden von: Andi
Geschrieben am: 05.10.2007 13:33:21

Hi,

auf die Schnelle fällt mir da nur ein, bei Neuberechnung der Tabelle (hier: sheet1), alle Zellen mit Formel auf Fehler zu prüfen und ggf die Schriftfarbe auf weiß zu setzen. Bei erneuter Berechnung wird die Schrift wieder schwarz, wenn kein Fehler mehr auftritt. Hilft das?

Private Sub Worksheet_Calculate()
Dim c As Range
For Each c In Sheets(1).UsedRange
If c.HasFormula Then
  If Left(c.Text, 1) = "#" Then
    c.Font.ColorIndex = 2
  Else
    c.Font.ColorIndex = 1
  End If
End If
Next c
End Sub



Schönen Gruß,
Andi


  

Betrifft: AW: Fehlermeldung via VBA Ausblenden von: Hubitz
Geschrieben am: 06.10.2007 16:07:10

Hallo Andi,

sorry das ich mich jetzt erst melde.

Das ist eigentlich genau das was ich gesucht hab...

Besten Dank schonmal! Ich probiers mal aus und schreib Dir dann ob´s geklappt hat!!

Schönes WE noch

hubitz


 

Beiträge aus den Excel-Beispielen zum Thema "Fehlermeldung via VBA Ausblenden"