ich rufe durch einen Button eine Userform auf mit der Möglichkeit meine Werte zurückzusetzen oder die (vorher) eingegebenen Werte zu übernehmen und mit diesen eine Berechnung neu zu rechnen. Bis hierhin alles tutto bene, funktioniert!
Jetzt ist es so, dass ich gezwungen bin, mehrere Newtoniterationen zu berechnen. Als Makro rödelt der das innerhalb kürzester Zeit herrunter, wenn ich das über eine kleine Schaltfläche mache.
Wenn ich dies jedoch in die CMD Box implementiere (den Code, nicht das Makro) in meiner Userform, dauert die Berechnung 15 Minuten (wenn er nicht einfach komplett abschmiert. Userform ist ganz mickrig gehalten, mit Übernehmen und Abbruch Knöpkes - mehr nicht):
Habe die Formeln so weit wie möglich zusammengestaucht (ohne select und activate...) und es wird trotzdem nicht "zügiger".
Hat da jemand ne Idee ob das fixer geht und wenn ja wie und/oder ob ich einen Fehler habe oder mach ich kompletten Unfug (alles ist möglich)?! Wäre dankbar für jede Hilfe
Was mich halt sehr wundert ist der Affenzahn mit dem das alles berechnet wird, sobald ich das ohne die Userform über ne Schaltfläche mache...
Der Code sieht folgendermaßen aus:
---------
Private Sub CommandButton1_Click()
'Application.ScreenUpdating = False
Sheets("delta p von Zentrale bis Ring").Select
Range("L28").GoalSeek Goal:=0, ChangingCell:=Range("M22")
Range("M44").GoalSeek Goal:=0, ChangingCell:=Range("M44")
Range("L71").GoalSeek Goal:=0, ChangingCell:=Range("M65")
Range("L93").GoalSeek Goal:=0, ChangingCell:=Range("M87")
Range("L116").GoalSeek Goal:=0, ChangingCell:=Range("M110")
Range("R116").GoalSeek Goal:=0, ChangingCell:=Range("S110")
Range("R140").GoalSeek Goal:=0, ChangingCell:=Range("S134")
Range("L165").GoalSeek Goal:=0, ChangingCell:=Range("M159")
Sheets("Druckverlust Verbraucher VA009 ").Select
Range("L28").GoalSeek Goal:=0, ChangingCell:=Range("M22")
Range("L50").GoalSeek Goal:=0, ChangingCell:=Range("M44")
Range("L71").GoalSeek Goal:=0, ChangingCell:=Range("M65")
Range("L93").GoalSeek Goal:=0, ChangingCell:=Range("M87")
Sheets("Mengenaufteilung").Select
Range("J12").GoalSeek Goal:=0, ChangingCell:=Range("H4")
Range("P12").GoalSeek Goal:=0, ChangingCell:=Range("O4")
Range("V12").GoalSeek Goal:=0, ChangingCell:=Range("U4")
Range("AB12").GoalSeek Goal:=0, ChangingCell:=Range("AA4")
Range("AH12").GoalSeek Goal:=0, ChangingCell:=Range("AG4")
Range("J34").GoalSeek Goal:=0, ChangingCell:=Range("H25")
Range("P34").GoalSeek Goal:=0, ChangingCell:=Range("O25")
Range("V34").GoalSeek Goal:=0, ChangingCell:=Range("U25")
Range("AB34").GoalSeek Goal:=0, ChangingCell:=Range("AA25")
Range("AH34").GoalSeek Goal:=0, ChangingCell:=Range("AG25")
Range("AN34").GoalSeek Goal:=0, ChangingCell:=Range("AM25")
Sheets("Schema").Select
'Application.ScreenUpdating = True
End Sub