Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Fehlermeldung von Excel überschreiben
#1
Hallo zusammen,

ich habe eine Tabelle in die Daten importiert werden und anschließend Berechnungen ausgelöst werden. Nun soll es auch möglich sein, manuell Werte einzugeben. Dabei habe ich jedoch auch eine Berechnung für den prozentualen Unterschied zwischen zwei Werten.
Code:
Sub DeltaMEKProzent()

Dim Zeile As Integer

Zeile = 3

Set book = ActiveWorkbook

With book.Worksheets("Gehaltsdaten")

While (.Cells(Zeile, 1) <> "")
   
   .Cells(Zeile, 32).Value = (Cells(Zeile, 28) - Cells(Zeile, 48)) / Abs(Cells(Zeile, 48))
   
   .Cells(Zeile, 32).Style = "Percent"

Zeile = Zeile + 1

Wend

End With

End Sub

Wenn ich nun den Wert in Spalte 28 zuerst befülle erhalte ich eine Division durch Null und folgende Fehlermeldung:

Laufzeitfehler '11':
Division durch Null

Nun möchte ich jedoch die Fehlermeldung überschreiben, indem ich dem Benutzer mitteilen will, dass er erst den Wert in Spalte 48 eintragen soll.

Hat jemand eine Lösung für mein Problem? Bin über jede Hilfe dankbar :)
Antworten Top
#2
Hallo Jonas,

da schickt man einen schönen Link, wo einem das erklärt wird und dann frägt derjenige das nochmals  Confused  http://www.clever-excel-forum.de/Thread-...#pid125853

Versuche es mal so

Code:
Sub DeltaMEKProzent()

Dim Zeile As Integer

On Error GoTo Errorhandling
Zeile = 3

Set book = ActiveWorkbook

With book.Worksheets("Gehaltsdaten")

While (.Cells(Zeile, 1) <> "")
   
   .Cells(Zeile, 32).Value = (Cells(Zeile, 28) - Cells(Zeile, 48)) / Abs(Cells(Zeile, 48))
   
   .Cells(Zeile, 32).Style = "Percent"

Zeile = Zeile + 1

Wend

End With
Exit Sub
Errorhandling:
If Err.Number = 11 Then MsgBox "Bitte Wert in Spalte 48 eintagen", vbInformation

End Sub
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#3
@Steffl, oh tut mir leid. Da hatte ich die Benachrichtigung ausgeschaltet gehabt und es ist untergegangen bei mir leider dabei. Vielen Dank dir, ich werde mich damit auseinandersetzen.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste