AW: Listboxeintrag merken
25.01.2018 08:26:34
Jonathan
natürlich habe ich den Code selbst geschrieben. Doch, ich kann ein Change-Event in ein Modul schreiben, ich muss die einzelnen Felder der UserForm nur konkret ansprechen
Also gut, hier der gesamte Code (ich wollte es ursprünglich nur möglichst einfach halten, um auf mein Problem hinzudeuten):
Option Explicit
Public WithEvents txtbx As MSForms.TextBox
Private Sub Class_Initialize()
Static Variable1 As New Collection
Variable1.Add Me
End Sub
Private Sub txtbx_Change()
' füllt "Berechnungswerte" UserForm
' Kraft Eingang HBZ: FhbzEin
If Fahrzeugdaten.bkraft "" And Fahrzeugdaten.Fpedalfeder "" And Fahrzeugdaten.iPedal "" _
Then
Berechnungswerte.FhbzEin.Value = Format((Fahrzeugdaten.bkraft.Value - Fahrzeugdaten. _
Fpedalfeder.Value) * Fahrzeugdaten.iPedal.Value, "0")
Else
FhbzEin = ""
End If
' Druck Ausgang: Phbz
For LoII = 0 To Fahrzeugdaten.ListeHBZVerstärker.ListCount - 1
If Fahrzeugdaten.ListeHBZVerstärker.Selected(LoII) Then
If Berechnungswerte.FhbzEin.Value "" And Fahrzeugdaten.WahlUnterdruck.Value "" Then
If Berechnungswerte.FhbzEin.Value "" And Fahrzeugdaten.WahlUnterdruck.Value = "" Then
If Berechnungswerte.FhbzEin.Value "" And _
Berechnungswerte.Phbz.Value "" And _
Fahrzeugdaten.AnzKolben1A.Value "" And _
Fahrzeugdaten.panl.Value "" And _
Fahrzeugdaten.AnzBr1A.Value "" And _
Fahrzeugdaten.uS.Value "" And _
Fahrzeugdaten.hh.Value "" And _
Fahrzeugdaten.rS.Value "" Then
Berechnungswerte.Mb1A.Value = Format(Str(4 * Atn(1) * Fahrzeugdaten.Dk1A / 2 * _
Fahrzeugdaten.Dk1A / 2 * Fahrzeugdaten.AnzKolben1A * Fahrzeugdaten.AnzBr1A * (Berechnungswerte.Phbz.Value - Fahrzeugdaten.panl) * Fahrzeugdaten.uS * Fahrzeugdaten.hh * Fahrzeugdaten.rS / 10), "0")
Else
Berechnungswerte.Mb1A.Value = ""
End If
' 2. Achse
If Fahrzeugdaten.Dk2A.Value "" And _
Berechnungswerte.Phbz.Value "" And _
Fahrzeugdaten.AnzKolben2A.Value "" And _
Fahrzeugdaten.panl.Value "" And _
Fahrzeugdaten.AnzBr2A.Value "" And _
Fahrzeugdaten.uS.Value "" And _
Fahrzeugdaten.hh.Value "" And _
Fahrzeugdaten.rS.Value "" Then
Berechnungswerte.Mb2A.Value = Format(Str(4 * Atn(1) * Fahrzeugdaten.Dk2A / 2 * _
Fahrzeugdaten.Dk2A / 2 * Fahrzeugdaten.AnzKolben2A * Fahrzeugdaten.AnzBr2A * (Berechnungswerte.Phbz.Value - Fahrzeugdaten.panl) * Fahrzeugdaten.uS * Fahrzeugdaten.hh * Fahrzeugdaten.rS / 10), "0")
Else
Berechnungswerte.Mb2A.Value = ""
End If
' 3. Achse
If Fahrzeugdaten.Dk3A.Value "" And _
Berechnungswerte.Phbz.Value "" And _
Fahrzeugdaten.AnzKolben3A.Value "" And _
Fahrzeugdaten.panl.Value "" And _
Fahrzeugdaten.AnzBr3A.Value "" And _
Fahrzeugdaten.uS.Value "" And _
Fahrzeugdaten.hh.Value "" And _
Fahrzeugdaten.rS.Value "" Then
Berechnungswerte.Mb3A.Value = Format(Str(4 * Atn(1) * Fahrzeugdaten.Dk3A / 2 * _
Fahrzeugdaten.Dk3A / 2 * Fahrzeugdaten.AnzKolben3A * Fahrzeugdaten.AnzBr3A * (Berechnungswerte.Phbz.Value - Fahrzeugdaten.panl) * Fahrzeugdaten.uS * Fahrzeugdaten.hh * Fahrzeugdaten.rS / 10), "0")
Else
Berechnungswerte.Mb3A.Value = ""
End If
' 4. Achse
If Fahrzeugdaten.Dk4A.Value "" And _
Berechnungswerte.Phbz.Value "" And _
Fahrzeugdaten.AnzKolben4A.Value "" And _
Fahrzeugdaten.panl.Value "" And _
Fahrzeugdaten.AnzBr4A.Value "" And _
Fahrzeugdaten.uS.Value "" And _
Fahrzeugdaten.hh.Value "" And _
Fahrzeugdaten.rS.Value "" Then
Berechnungswerte.Mb4A.Value = Format(Str(4 * Atn(1) * Fahrzeugdaten.Dk4A / 2 * _
Fahrzeugdaten.Dk4A / 2 * Fahrzeugdaten.AnzKolben4A * Fahrzeugdaten.AnzBr4A * (Berechnungswerte.Phbz.Value - Fahrzeugdaten.panl) * Fahrzeugdaten.uS * Fahrzeugdaten.hh * Fahrzeugdaten.rS / 10), "0")
Else
Berechnungswerte.Mb4A.Value = ""
End If
' Bremsmoment pro Rad: Mr
' 1. Achse
'If Berechnungswerte.Mb1A.Value "" And _
'5Fahrzeugdaten.Vorgelegeja.Value = True Then
'Berechnungswerte.Mr1A.Value = Berechnungswerte.Mb1A.Value * Fahrzeugdaten.Ir.Value / _
Fahrzeugdaten.eta.Value
'Else
'If Berechnungswerte.Mb1A.Value "" And _
'Fahrzeugdaten.Vorgelegeja.Value = False Then
'Berechnungswerte.Mr1A.Value = Berechnungswerte.Mb1A.Value
'Else
'Berechnungswerte.Mr1A.Value = ""
'End If
'End If
End Sub
FhbzEin berechnet er mir jederzeit korrekt, Phbz setzt er mir immer auf leer, obwohl - wie gesagt - eine Variable gewählt ist.