| |
| KISTERS 3DViewStation optimiert die Lizenzverwaltung für ihre Kunden, eine Pressemitteilung
|
Autor
|
Thema: Userform Listbox - Null Selektion abfangen (840 / mal gelesen)
|
Tanki Mitglied Entwicklungsingenieur
Beiträge: 14 Registriert: 11.05.2018 CATIA V5 R29 SP3 Windows 10
|
erstellt am: 15. Mai. 2018 08:43 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe eine Userform erstellt, die mir 6 verschiedene Auswahlmöglichkeiten bietet. Diese bestätige ich dann entweder mit Click auf Button 1 oder ich breche das Makro ab mit Click auf Button 2. Nun frage ich mich, wie ich am elegantesten den Fall abfange, dass der User nichts ausgewählt hat und trotzdem auf Ok drückt. Hier mein Code: Code: Private Sub UserForm_Initialize() 'Name der Userform ist 'Modellauswahl' ListBox1.AddItem "A" ListBox1.AddItem "B" ListBox1.AddItem "C" ListBox1.AddItem "D" ListBox1.AddItem "E" ListBox1.AddItem "F" End SubPrivate Sub CommandButton1_Click() Dim ausleseparameter As String With ListBox1 If .ListIndex > -1 Then ausleseparameter = .List(.ListIndex) If ausleseparameter = "A" Then übergabeparameter = "bsp1" 'übergabeparameter ist eine public variable aus dem Modul ElseIf ausleseparameter = "B" Then übergabeparameter = "bsp2" ... usw. End If Else MsgBox "Bitte wählen Sie zunächst einen Typ aus!", vbExclamation 'Hier soll ein Reset der Userform erfolgen um wieder die Möglichkeit der Auswahl zu haben End If End With Modellauswahl.Hide End Sub Private Sub CommandButton2_Click() Modellauswahl.Hide MsgBox "Das Makro wurde abgebrochen." abbruchstatus = True 'abbruchstatusist eine public variable aus dem Modul End Sub
Ich stelle mir vor, dass ich der beschriebenen Stelle die Userform 'resetten' kann. Vielen Dank für eure Tipps! Beste Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Randle Mitglied CAD/PLM Consultant
Beiträge: 743 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 15. Mai. 2018 10:11 <-- editieren / zitieren --> Unities abgeben: Nur für Tanki
Hallo, du könntest das Füllen der Combobox ja in eine eigene Routine packen und diese aufrufen wenn nichts oder was ungültiges ausgewählt wird. Dann solltest du aber noch ein Combobox.Clear voranstellen. Alternativ könntest du den Anwender in diesem Fall (Auswahl: leer/ungültig) auch eine Messagebox anzeigen damit er weiß was das Makro von ihm erwartet. Gruß Randle ------------------ Wer für nichts steht, fällt für alles! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tanki Mitglied Entwicklungsingenieur
Beiträge: 14 Registriert: 11.05.2018 CATIA V5 R29 SP3 Windows 10
|
erstellt am: 15. Mai. 2018 10:29 <-- editieren / zitieren --> Unities abgeben:
Hallo und Danke für deine Antwort, wie springe ich dann aber nach Anzeigen meiner Hinweisnachricht aus meinem private sub ClickButton zurück zu dem Punkt im Private Sub Userform, an dem ich meine Liste leere und wieder neu befülle? VG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Randle Mitglied CAD/PLM Consultant
Beiträge: 743 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 15. Mai. 2018 12:07 <-- editieren / zitieren --> Unities abgeben: Nur für Tanki
Hallo, in etwa so ...
Code:
Private Sub UserForm_Initialize() InitializeComboBox End Sub Private Sub InitializeComboBox() ListBox1.Clear ListBox1.AddItem "A" ListBox1.AddItem "B" ListBox1.AddItem "C" ListBox1.AddItem "D" ListBox1.AddItem "E" ListBox1.AddItem "F" End Sub Private Sub CommandButton1_Click() Dim ausleseparameter As String With ListBox1 If .ListIndex > -1 Then ausleseparameter = .List(.ListIndex) If ausleseparameter = "A" Then übergabeparameter = "bsp1" 'übergabeparameter ist eine public variable aus dem Modul ElseIf ausleseparameter = "B" Then übergabeparameter = "bsp2" ... usw. End If Else MsgBox "Bitte wählen Sie zunächst einen Typ aus!", vbExclamation, "Auswahlfehler" InitializeComboBox Exit Sub End If End With Modellauswahl.Hide End Sub
Gruß Randle ------------------ Wer für nichts steht, fällt für alles! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tanki Mitglied Entwicklungsingenieur
Beiträge: 14 Registriert: 11.05.2018 CATIA V5 R29 SP3 Windows 10
|
erstellt am: 15. Mai. 2018 12:28 <-- editieren / zitieren --> Unities abgeben:
|