AW: Anzeige von Werten
08.12.2020 11:42:24
Werten
@RB: zunächst: Vielen vielen dank für deine Hilfe. Ich schätze das sehr!
Leider ist dieses Programm mein erstes Projekt, und ich kenne mich daher nur Rudimentär mit VBA aus. Habe auch keine weiteren Programmierkenntnisse.
Ich habe versucht, deine Änderungen nachzuvollziehen. Teilweise erfolgreich, teilweise leider auch nicht. Vorweg, ich habe deine Datei bisher noch nicht vervollständigt. Sieht viel übersichtlicher aus. Werde deine Vorschläge einbauen, möchte jedoch erst alles verstehen.
Zu UF_user:
1.
Was dieser Befehl meine ich verstanden zu haben:
Private Sub OptionButton_CW100_Change()
If OptionButton_CW100 Then Call changeLists(OptionButton_CW100)
End Sub
Das Sub ruft die Changelists auf und übergibt den Wert OptionsButton_CW100, richtig?
2.
Ich frage nur zur Sicherheit, aber wie ich dein Kommentar verstanden habe, ersetzt das oben genannte Change Event, meine lange "Click" Prozedur. Ich muss nur noch die restlichen ersetzen.
3. zum changelists sub:
Sub changeLists(obtn As Control)
'######################################
' die fehlenden Optionbutton selbst einfügen.
' die bereichsnamen werden einer Public textvariable zugeordnet
' diese kann in der anderen Uf genutzt werden.
'#######################################
sErsteller = ""
sAS = ""
sFehler = ""
ComboBox_Ersteller.RowSource = ""
Select Case obtn.Caption
Case "Chipmessplatz"
sErsteller = "MA_Chip"
sAS = "AS_chip"
sFehler = "Fehler_Chip"
Case "HP"
sErsteller = "MA_HP"
sAS = "AS_EF_UV50"
sFehler = "Fehler_EF_UV50"
Case "MOPA"
sErsteller = "MA_MOPA"
sAS = "AS_EF_UV50"
sFehler = "Fehler_EF_UV50"
Case "CW-100/ Intracavity"
sErsteller = "MA_CW100"
sAS = "AS_EF_CW100"
sFehler = "Fehler_EF_CW100"
Case "CW-500"
sErsteller = "MA_CW500"
sAS = "AS_EF_CW500"
sFehler = "Fehler_EF_CW500"
Case "GB"
sErsteller = "MA_GB"
sAS = "AS_GB"
sFehler = "Fehler_GB"
Case Else
End Select
ComboBox_Ersteller.RowSource = sErsteller 'Liste neubefüllen
ComboBox_Ersteller.ListIndex = -1
End Sub
Was heißt:
' die bereichsnamen werden einer Public textvariable zugeordnet
warum werden die Variablen sErsteller, etc. nirgens definiert?
Select Case obtn.Caption
Warum steht da obtn und was macht genau das Caption
4.
Private Sub CommandButton1_Click()
'Hier Prüfungen der Controls rein
Me.Hide
UserForm1.Show
End Sub
Was meinst du genau mit Prüfungen der Controls?
5.
Private Sub UserForm_Activate()
ComboBox_Ersteller.RowSource = Worksheets("Listen-Werte").Range("Test2").Address(external:=True) _
ComboBox_Ersteller.ListIndex = 0
ComboBox_Test.RowSource = Range("Test2").Address(external:=True)
ComboBox_Test.ListIndex = 0
End Sub
Wawrum hast du bei ersteller Rowsource nicht einfach "Test2" geschrieben, was macht .Adress(external:=true)
6. ZU UF1:
Private Sub UserForm_Activate()
'hier alle Controlsfüllen
TextBox11 = UserForm_User.ComboBox_Ersteller
With Worksheets("Listen-Werte")
ComboBox_AS.RowSource = sAS
ComboBox_Fehler.RowSource = sFehler
' test mit dynamischer Listengenerierung
'greift auf Listenwerte 2 zu
' ComboBox_AS.List = genFList(sAS)
' ComboBox_Fehler.List = genFList(sFehler)
End With
End Sub
Warum schreibst du 'hier alle Controlsfüllen. So wie ich das verstehe, hast du die Controlls (listenwerte der Comboboxen?) schon befüllt.
Zu deiner Frage zu den Listenwerten. Ja. das ist Beta, da kommt Klartext hin.
Deine Dynamische Liste habe ich leider nur Rudimentär nachvollziehen können. So wie ich das verstehe, würde das mit Klartextlisten dann nicht mehr funktionieren, oder?
Viele Grüße
JoS