ich hol mir seit Jahren schon immer wider mal Infos aus dem Forumsarchiv und hatte bisher alles dann selbst umgesetzt bekommen. Nun steh ich aber vor einer Aufgabe, die ich irgendwie nicht gelöst bekomme und hoffe nun auf eure Hilfe.
Ich arbeite in einer Neuproduktkalkulation mit einer Zielwertsuche, um zu ermitteln, wann der Barwert auf 0 geht. Das funktioniert auch einwandfrei. Nun ist es so, dass es in meiner Arbeitsmappe mehrere Einzelkalkulationen hat und ich die Zielwertsuche mittels eines Makros für alle Kalkulationen starte. Bisher hatte ich ein Makro das die Kalkulationen von 1 bis x durchgerechnet hat und dann als MsgBox ausgegeben hat, bei welcher Kalkulation er gestoppt hat, weil dort eine Berechnung nicht möglich war (in der Regel, weil nicht alle Einzelkalkulationen genutzt wurden, aber auch wenn es einen Fehler gab). Nun ist es aber so, dass teilweise aus einem Projekt Bestandteile gestrichen werden und daher zum Beispiel die Daten aus Kalkulation 2 gelöscht werden, aber in Kalkulation 3 wieder Werte stehen. Hier würde mein Makro bei 2 abbrechen und den Rest nicht durchrechnen, was natürlich falsch wäre. Mein Kollege hatte nun ein Makro programmiert, dass die Fehler einfach ignoriert und weiterrechnet, aber damit bin ich nicht zufrieden, weil der Nutzer so ja nicht weiß, ob auch eine Kalkulation nicht berechnet wurde, die Daten enthält, aber es irgendeinen anderen Fehler in den Daten gibt. Meine Idee war nun in einer MsgBox ausgeben zu lassen, bei welchen Variablen der Code in die Fehlerbehandlung lief, aber ich bekomm das irgendwie nicht abgebildet. Habt ihr noch eine Idee? Vielen Dank schon mal vorab. Und wenn irgendetwas unklar ist, einfach nachfragen.
Private Sub Schwellenwerte_ermitteln_Click()
Dim i As Integer
intQuestion = MsgBox("blabla" _
& vbNewLine & "Calculate thresholds?", vbYesNo, "Threshold calculation")
If intQuestion = vbYes Then
Application.ScreenUpdating = False
On Error Resume Next
For i = 1 To 21
Worksheets("Kalk (" & i & ")").Activate
Call Schwellenwertberechnung
Next i
MsgBox "Calculations are done."
End If
Worksheets("Kalk Overview").Activate
Application.ScreenUpdating = True
End Sub