Ich habe in VBA ein Programm geschrieben, welches ich der Größe halber mit Unterprogrammen versehen wollte.
Das Programm, wie auch die Unterprogramme liegen auf Tabellenblatt 1.
Wenn das Programm per Call in die Unterprogramme springt, werden die zuvor errechnetten Werte nicht übernommen.
Mir ist bewußt, dass es so etwas wie function, byval etc. gibt, ich habe aber keine Ahnung, ob ich diese verwenden muss (bin nicht so der Spezialist in VBA).
Hier mein Programmcode:
Private Sub CommandButton2_Click()
'Aufruf der Unterprogramme
Call Befeuchtung
Call Einspeisung_Click
Call WP_Click
'Berechnung des k*A-Werts
'Anfangsbedingungen einlesen
'Rückwärmzahl in %
WRZproz = Range("C14").Value
'Rückwärmzahl in %/100
WRZ = WRZproz / 100
'Außenluftvolumenstrom
Vaul = Range("C17").Value
'Bedingung: Abluftvolumenstrom = Außenluftvolumenstrom
Vabl = Vaul
'spez. Wärmekapazität der Luft
cpluft = Range("C22").Value
'spez. Wärmekapazität der Sole
cpsole = Range("C23").Value
'Dichte der Luft
dluft = Range("C21").Value
'Wärmekapazitätsstrom der Außenluft
Waul = Vaul * cpluft * dluft / 3.6
'Wärmekapazitätsstrom der Abluft
Wabl = Vabl * cpluft * dluft / 3.6
'Berechnung des optimalen Wärmekapazitätsstrom des Umlaufstroms
Wopt = (Wabl * Waul * ((Waul / Wabl) + 1)) / (Waul * (Waul / Wabl) + Wabl)
'Massenstrom Außenluft
maul = 3.6 * Waul / cpluft
'Massenstrom Abluft
mabl = 3.6 * Wabl / cpluft
'optimaler Massenstrom des Umlaufstroms
mopt = 3.6 * Wopt / cpsole
'Übertragungsgrad der Abluft/Außenluft- Wärmetauscher
Fi = 2 * WRZ / (WRZ + 1)
'Einlesen von Außenluft- und Fortlufttemperatur
Tabl = Range("S3").Value
Taul = Range("C15").Value
'Abfrage nach gleichen Außen- und Ablufttemperaturen
If Tabl = Taul Then
'Für die Ablufttemperatur wird ein belibiger Wert gewählt, der ungleich der Auß _
enlufttemperatur ist
Tabl = Taul - 1
Else
Tabl = Range("S3").Value
End If
'Einlesen der Minimaltemperatur der Fortluft (Vereisungsschutz)
Tfolsoll = Range("C24").Value
Twt11einsoll = Tfolsoll
'Einlesen der gewünschten Zulufttemperatur
Tzulsoll = Range("C25").Value
'Berechnen von Zulufttemperatur unter Verwendung der Rückwärmezahl
Tzul = WRZ * (Tabl - Taul) + Taul
'Berechnen von Fortluftemperatur unter Verwendung der Rückwärmezahl
Tfol = Tabl - (WRZ * (Tabl - Taul))
'Berechnung der Sole-Eintrittstemperatur im Ablufttauscher
Twt11ein = Tabl - ((Tabl - Tfol) / Fi)
'Berechnung der Sole-Austrittstemperatur im Ablufttauscher
Twt11aus = Twt11ein - ((Tfol - Tabl) * Wabl / Wopt)
'Berechnung der Sole-Eintrittstemperatur im Außenlufttauscher
Twt22ein = Taul - ((Taul - Tzul) / Fi)
'Berechnung der Sole-Austrittstemperatur im Außenlufttauscher
Twt22aus = Twt22ein - ((Tzul - Taul) * Waul / Wopt)
'Berechnung der übertragenen Leistung am Außenlufttauscher
Qaul = (Tzul - Taul) * Waul
'Berechnung der übertragenen Leistung am Ablufttauscher
Qabl = (Tabl - Tfol) * Wabl
'Berechnung der logarythmischen Temperaturdifferenz
'Prüfung welches Temperaturdifferenz größer und kleiner ist
'If Abs(Taul - Twt22aus) > (Tzul - Twt22ein) Then
'dtg = Taul - Twt22aus
'dtk = Tzul - Twt22ein
' Else
' dtg = Tzul - Twt22ein
' dtk = Taul - Twt22aus
'End If
dtm22 = Twt22aus - Taul
'If Abs(Tabl - Twt11aus) > (Tfol - Twt11ein) Then
'dtg = Tabl - Twt11aus
'dtk = Tfol - Twt11ein
' Else
' dtg = Tfol - Twt11ein
' dtk = Tabl - Twt11aus
'End If
dtm11 = Twt11aus - Tabl
'Berechnung des effektiven k*A Wertes für den Außenlufttauscher
kA22 = Abs(Qaul / dtm22)
'Berechnung des effektiven k*A Wertes für den Ablufttauscher
kA11 = Abs(Qabl / dtm11)
'Einlesen der Ablufttemperatur
Tabl = Range("S3").Value
'Datenausgabe
Range("N14").Value = kA22
Vabl = Range("C20").Value
Wabl = Vabl * cpluft * dluft / 3.6
maulsole = Waul / cpsole
mablsole = Wabl / cpsole
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% _
_
_
_
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Beginn der Simulation%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% _
_
_
_
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% _
_
_
_
'Berechnung ohne WRG
If Taul > Tzulsoll Then
Qheiz = 0
Qkühl = Waul * (Taul - Tzulsoll)
Else
Qkühl = 0
Qheiz = Waul * (Tzulsoll - Taul)
End If
Range("S14").Value = Qheiz
Range("S15").Value = Qkühl
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% _
_
_
_
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% _
_
_
_
'Berechnung mit WRG
'Anzahl der Schleifendurchläufe
N = 20
'Befeuchterstatus auf Null setzen
BEF = 0
'Beimischstatus auf Null setzen
Beimischung = 0
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% _
_
_
_
'Berechnung der WRG ohne eingespeiste Energie in den Solekreislauf
' Abfrage: Wenn keine Einspeisung, dann...
Select Case Qzus
Case 0
'es wird keine Energie eingespeist
Qeinsp = 0
'$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ _
_
_
_
'Berechnung ohne Frostschutzschaltung
'/////////////////////////////////////////////////////////////////////////////////// _
_
_
_
'Abfrage, ob die minimale Fortlufttemperatur unterschritten wird
If Twt11ein > Twt11einsoll Then
Call Berechnung_ohne_Einspeisung_ohne_Frostschutz
Range("A26").Value = "ohne Einspeisung, ohne Frostschutz"
'/////////////////////////////////////////////////////////////////////////////// _
_
_
_
'Abfrage ob Beimischung sinnvoll
If Taul Tzulsoll And WP.Value = False Then
Beimischung = 1
Call Berechnung_Beimischung
Else
End If
'/////////////////////////////////////////////////////////////////////////////// _
_
_
_
'Abfrage ob Befeuchtungs sinnvoll
If Taul > Tzulsoll And Abluftbefeuchter.Value = True Then
BEF = 1
Tabl = Tablbef
Call Berechnung_ohne_Einspeisung_ohne_Frostschutz
Else
End If
'/////////////////////////////////////////////////////////////////////////////// _
_
_
_
'Abfrage, ob Befeuchtung die Zulufttemperatur zu weit senkt
Select Case BEF
Case 1
If Tzul Tzulsoll And WP.Value = False Then
Beimischung = 1
Call Berechnung_Beimischung
Else
End If
'/////////////////////////////////////////////////////////////////////////////// _
_
_
_
'Abfrage ob Befeuchtungs sinnvoll
If Taul > Tzulsoll And Abluftbefeuchter.Value = True Then
BEF = 1
Tabl = Tablbef
Call Berechnung_ohne_Einspeisung_mit_Frostschutz
Else
End If
'/////////////////////////////////////////////////////////////////////////////// _
_
_
_
'Abfrage, ob Befeuchtung die Zulufttemperatur zu weit senkt
Select Case BEF
Case 1
If Tzul Tzulsoll And WP.Value = False Then
Beimischung = 1
Call Berechnung_Beimischung
Else
End If
'/////////////////////////////////////////////////////////////////////////////// _
_
_
_
'Abfrage ob Befeuchtungs sinnvoll
If Taul > Tzulsoll And Abluftbefeuchter.Value = True Then
BEF = 1
Tabl = Tablbef
Call Berechnung_mit_Einspeisung_mit_Frostschutz
Else
End If
'/////////////////////////////////////////////////////////////////////////////// _
_
_
_
'Abfrage, ob Befeuchtung die Zulufttemperatur zu weit senkt
Select Case BEF
Case 1
If Tzul Tzulsoll And WP.Value = False Then
Beimischung = 1
Call Berechnung_Beimischung
Else
End If
'/////////////////////////////////////////////////////////////////////////////// _
_
_
_
'Abfrage ob Befeuchtungs sinnvoll
If Taul > Tzulsoll And Abluftbefeuchter.Value = True Then
BEF = 1
Tabl = Tablbef
Call Berechnung_mit_Einspeisung_ohne_Frostschutz
Else
End If
'/////////////////////////////////////////////////////////////////////////////// _
_
_
_
'Abfrage, ob Befeuchtung die Zulufttemperatur zu weit senkt
Select Case BEF
Case 1
If Tzul
Private Sub Datenausgabe_ohne_Beimischung()
Range("N3").Value = Tabl
Range("C3").Value = Tfol
Range("N15").Value = Qeinsp
Range("N36").Value = Tzul
Range("K31").Value = Twt22ein
Range("F30").Value = Twt22aus
Range("F11").Value = Twt11ein
Range("K12").Value = Twt11aus
Range("F18").Value = mteils1
Range("G45").Value = mteils2
Range("G21").Value = mteils3
Range("K33").Value = mteils4
Range("K24").Value = Twt33ein
Range("G2").Value = mablsole
Range("G35").Value = maulsole
Cells(60, 1).Value = "Tzul"
Cells(60, 1 + i).Value = Tzul
Cells(61, 1).Value = "Tfol"
Cells(61, 1 + i).Value = Tfol
Cells(62, 1).Value = "Twt22ein"
Cells(62, 1 + i).Value = Twt22ein
Cells(63, 1).Value = "Twt22aus"
Cells(63, 1 + i).Value = Twt22aus
Cells(64, 1).Value = "Twt11ein"
Cells(64, 1 + i).Value = Twt11ein
Cells(65, 1).Value = "Twt11aus"
Cells(65, 1 + i).Value = Twt11aus
Cells(66, 1).Value = "Qaul"
Cells(66, 1 + i).Value = Qaul
Cells(67, 1).Value = "Qabl"
Cells(67, 1 + i).Value = Qabl
Cells(68, 1).Value = "mteils1"
Cells(68, 1 + i).Value = mteils1
Cells(69, 1).Value = "mteils2"
Cells(69, 1 + i).Value = mteils2
Cells(70, 1).Value = "mteils3"
Cells(70, 1 + i).Value = mteils3
Cells(71, 1).Value = "mteils4"
Cells(71, 1 + i).Value = mteils4
Cells(72, 1).Value = "Wteils23"
Cells(72, 1 + i).Value = Wteils23
Cells(73, 1).Value = "Wteils14"
Cells(73, 1 + i).Value = Wteils14
Cells(74, 1).Value = "Waul"
Cells(74, 1 + i).Value = Waul
Cells(75, 1).Value = "Wabl"
Cells(75, 1 + i).Value = Wabl
End Sub
Private Sub Datenausgabe_mit_Beimischung()
Range("N3").Value = Tabl
Range("N15").Value = Qeinsp
Range("N36").Value = Tzulsoll
Range("K31").Value = "Beimischung"
Range("F30").Value = "Beimischung"
Range("F11").Value = "Beimischung"
Range("K12").Value = "Beimischung"
Range("F18").Value = "Beimischung"
Range("G45").Value = "Beimischung"
Range("G21").Value = "Beimischung"
Range("K33").Value = maulsole
Range("K24").Value = Twt33ein
Range("G2").Value = mpumpeKVS
Range("G35").Value = "Beimischung"
Range("A60:BB75").Value = ""
End Sub
Private Sub Workbook_Activate()
Application.ScreenUpdating = False
Application.AskToUpdateLinks = False
Application.ScreenUpdating = True
End Sub
Private Sub Abluftbefeuchter_Click()
If WP.Value = True Then
Abluftbefeuchter.Value = 0
Else
Abluftbefeuchter.Value = 1
End If
End Sub
Private Sub Befeuchtung()
Call Abluftbefeuchter_Click
Select Case Abluftbefeuchter.Value
Case True
For Each x In Workbooks
If x.Name = "ILK_hx-Diagramm.xls" Then
Workbooks("ILK_hx-Diagramm.xls").Activate
GoTo weiter1
End If
Next
'hx-Diagramm öffnen
Call Workbook_Activate
Workbooks.Open Filename:="C:\Dokumente und Einstellungen\br\Desktop\Bachelorarbeit3\ _
ILK_hx-Diagramm.xls"
weiter1:
Tablbef = Workbooks("ILK_hx-Diagramm.xls").Sheets("Datenpunkte").Cells(17, 6)
fiabl = Workbooks("ILK_hx-Diagramm.xls").Sheets("Datenpunkte").Cells(17, 8)
Windows("KVS.xls").Activate
Case Else
End Select
End Sub
Private Sub Berechnung_Click()
End Sub
Private Sub Einspeisung_Click()
If Einspeisung.Value = True Then
Qzus = 1
Else
Qzus = 0
End If
End Sub
Private Sub WP_Click()
If WP.Value = True Then
Einspeisung.Value = True
Else
End If
End Sub
Private Sub Berechnung_Beimischung()
Qeinsp = 0
Qaul = (Tzulsoll - Taul) * Waul
Qabl = Qaul
mpumpeKVS = Waul / cpsole
mpumpeBEF = 0
Call Datenausgabe_mit_Beimischung
End Sub
Private Sub Berechnung_ohne_Einspeisung_ohne_Frostschutz()
'Einlesen eines beliebigen Startwerts zur Überprüfung der Schleife
Twt22aus = -200
mteils4 = 1000
'Schleife
N = 15
For i = 1 To N
Twt33ein = (mteils3 * Twt22aus + (Wabl / cpsole) * Twt11aus) / (mteils4)
'Berechnung der Sole-Austrittstemperatur im Außenlufttauscher
Twt22ein = Twt33ein
'Berechnung der Zulufttemperatur
Tzul = (kA22 * Twt22ein + Taul * Waul) / (kA22 + Waul)
'Berechnung der Sole-Austrittstemperatur im Außenlufttauscher
Twt22aus = Twt22ein + Taul - Tzul
'Berechnung der Sole-Eintrittstemperatur im Ablufttauscher
Twt11ein = Twt22aus
'Berechnung der Fortlufttemperatur
Tfol = (kA11 * Twt11ein + Tabl * Wabl) / (kA11 + Wabl)
'Berechnung der Sole-Austrittstemperatur im Ablufttauscher
Twt11aus = Twt11ein + Tabl - Tfol
'Berechnung der übertragenen Leistung am Außenlufttauscher
Qaul = (Tzul - Taul) * Waul
'Berechnung der übertragenen Leistung am Ablufttauscher
Qabl = (Tabl - Tfol) * Wabl
'Berechnung der Umlaufströme
'Berechnung des Umlaufstroms 1
mteils1 = (Wabl / cpsole) * (Twt11ein - Twt22ein) / (Twt22aus - Twt22ein)
'Berechnung des Umlaufstroms 2
mteils2 = (Wabl / cpsole) - mteils1
'Berechnung des Umlaufstroms 4
mteils4 = (Waul / cpsole) + mteils2
'Berechnung des Umlaufstroms 3
mteils3 = mteils4 - (Wabl / cpsole)
Call Datenausgabe_ohne_Beimischung
Next i
End Sub
Private Sub Berechnung_ohne_Einspeisung_mit_Frostschutz()
'Einlesen eines beliebigen Startwerts zur Überprüfung der Schleife
Twt22ein = -200 'Probe
'Einlesen eines beliebigen Startwerts zur Überprüfung der Schleife
Twt22aus = 200 'Probe
mteils4 = 1000
'Schleifenbeginn
For i = 1 To N
'Berechnung der Sole-Eintrittstemperatur im Außenlufttauscher
Twt33ein = (mteils3 * Twt22aus + (Wabl / cpsole) * Twt11aus) / (mteils4)
'Berechnung der Sole-Austrittstemperatur im Außenlufttauscher
Twt22ein = Twt33ein
Tzul = (kA22 * Twt22ein + Taul * Waul) / (kA22 + Waul)
Twt22aus = Twt22ein + Taul - Tzul
Q22 = (Twt22ein - Twt22aus) * cpsole * (mteils4 - mteils2)
Twt11ein = Twt11einsoll
Tfol = (kA11 * Twt11ein + Tabl * Wabl) / (kA11 + Wabl)
'Berechnung der Übertragenen Leistung im Ablufttauscher um die minimale _
Fortlufttemperatur nicht zu unterschreiten
Q11 = (Tfol - Tabl) * Wabl
'Berechnung der Sole-Austrittstemperatur im Ablufttauscher
Twt11aus = Twt11ein + Tabl - Tfol
'Berechnung der Umlaufströme
'Berechnung des Umlaufstroms 1
mteils1 = (Wabl / cpsole) * (Twt11ein - Twt22ein) / (Twt22aus - Twt22ein)
'Berechnung des Umlaufstroms 2
mteils2 = (Wabl / cpsole) - mteils1
'Berechnung des Umlaufstroms 4
mteils4 = (Waul / cpsole) + mteils2
'Berechnung des Umlaufstroms 4
mteils3 = mteils4 - (Wabl / cpsole)
'Berechnung der übertragenen Leistung am Ablufttauscher
Qabl = (Tabl - Tfol) * Wabl
Qaul = (Tzul - Taul) * Waul
Call Datenausgabe_ohne_Beimischung
Next i
End Sub
Private Sub Berechnung_mit_Einspeisung_mit_Frostschutz()
For i = 1 To N
'Berechnung der Übertragenen Leistung im Außenlufttauscher
Q22 = (Tzulsoll - Taul) * Waul
'Berechnung der Sole-Eintrittstemperatur im Außenlufttauscher
Twt22ein = (Q22 / kA22) + Tzulsoll
'Berechnung der Zulufttemperatur
Tzul = (kA22 * Twt22ein + Taul * Waul) / (kA22 + Waul) 'ka22*(twt22ein-tzul)=waul*( _
tzul-taul)
'Berechnung der Sole-Austrittstemperatur im Außenlufttauscher
Twt22aus = Twt22ein + Taul - Tzul
'Berechnung der Übertragenen Leistung im Ablufttauscher
Twt11ein = Twt11einsoll
Tfol = (kA11 * Twt11ein + Tabl * Wabl) / (kA11 + Wabl)
Q11 = (Tfol - Tabl) * Wabl
'Berechnung der Sole-Eintrittstemperatur im Außenlufttauscher
'Twt11ein = (Q11 / kA11) + Tfolsoll
'Berechnung der Fortlufttemperatur
'Tfol = (kA11 * Twt11ein + Tabl * Wabl) / (kA11 + Wabl)
'Berechnung der Sole-Austrittstemperatur im Ablufttauscher
Twt11aus = Twt11ein + Tabl - Tfol
'Berechnung der Umlaufströme
'Berechnung des Umlaufstroms 1
mteils1 = (Wabl / cpsole) * (Twt11ein - Twt22ein) / (Twt22aus - Twt22ein)
'Berechnung des Umlaufstroms 2
mteils2 = (Wabl / cpsole) - mteils1
'Berechnung des Umlaufstroms 4
mteils4 = (Waul / cpsole) + mteils2
'Berechnung des Umlaufstroms 3
mteils3 = mteils4 - (Wabl / cpsole)
Twt33ein = (mteils3 * Twt22aus + (Wabl / cpsole) * Twt11aus) / (mteils4)
'Sole-Austrittstemperatur im Wärmetauscher entspricht der Sole-Eintrittstemperatur _
im Außenlufttauscher
Twt33aus = Twt22ein
'Berechnung der einzuspeisenden Energie
Qeinsp = (Twt33aus - Twt33ein) * cpsole * mteils4
'Berechnung der übertragenen Leistung am Außenlufttauscher
Qaul = (Tzul - Taul) * Waul
'Berechnung der übertragenen Leistung am Ablufttauscher
Qabl = (Tabl - Tfol) * Wabl
Call Datenausgabe_ohne_Beimischung
Next i
End Sub
Private Sub Berechnung_mit_Einspeisung_ohne_Frostschutz()
'Schleifenbeginn
For i = 1 To N
'Berechnung der Übertragenen Leistung im Außenlufttauscher
Q22 = (Tzulsoll - Taul) * Waul
'Berechnung der Sole-Eintrittstemperatur im Außenlufttauscher
Twt22ein = (Q22 / kA22) + Tzulsoll
'Berechnung der Zulufttemperatur
Tzul = (kA22 * Twt22ein + Taul * Waul) / (kA22 + Waul)
'Berechnung der Sole-Austrittstemperatur im Außenlufttauscher
Twt22aus = Twt22ein + Taul - Tzul
'Berechnung der Sole-Eintrittstemperatur im Ablufttauscher
Twt11ein = Twt22aus
'Berechnung der Fortlufttemperatur
Tfol = (kA11 * Twt11ein + Tabl * Wabl) / (kA11 + Wabl)
'Berechnung der Sole-Austrittstemperatur im Ablufttauscher
Twt11aus = Twt11ein + Tabl - Tfol
'Berechnung der übertragenen Leistung am Außenlufttauscher
Qaul = (Tzul - Taul) * Waul
'Berechnung der übertragenen Leistung am Ablufttauscher
Qabl = (Tabl - Tfol) * Wabl
'Berechnung der Umlaufströme
'Berechnung des Umlaufstroms 1
mteils1 = (Wabl / cpsole) * (Twt11ein - Twt22ein) / (Twt22aus - Twt22ein)
'Berechnung des Umlaufstroms 2
mteils2 = (Wabl / cpsole) - mteils1
'Berechnung des Umlaufstroms 4
mteils4 = (Waul / cpsole) + mteils2
'Berechnung des Umlaufstroms 3
mteils3 = mteils4 - (Wabl / cpsole)
'Berechnung der Sole-Eintrittstemperatur im Wärmetauscher
Twt33ein = (mteils3 * Twt22aus + (Wabl / cpsole) * Twt11aus) / (mteils4)
'Sole-Austrittstemperatur im Wärmetauscher entspricht der Sole-Eintrittstemperatur _
im Außenlufttauscher
Twt33aus = Twt22ein
'Berechnung der einzuspeisenden Energie
Qeinsp = (Twt33aus - Twt33ein) * cpsole * mteils4
Call Datenausgabe_ohne_Beimischung
Next i
End Sub
Die Unterprogramme
Private Sub Workbook_Activate();
Private Sub Abluftbefeuchter_Click();
Private Sub Befeuchtung();
Private Sub Einspeisung_Click();
Private Sub WP_Click() funktionieren.
Doch schon hier gibts probleme:
Private Sub Berechnung_ohne_Einspeisung_ohne_Frostschutz()
Über eine schnelle Hilfe wäre ich sehr dankbar, da es für meine Bachelorarbeit (nicht _
informatik, wie man wohl sieht) ist.
Danke schon mal im Voraus