Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA - Combobox matchrequired Alternative
#1
Hi Comunity,

ich benötige noch einmal eure Hilfe:

Ich habe eine Combobox die per RowSource mit einer intelligenten Tabelle befüllt wird. Ebenso befindet sich vorausgefüllt ein Hilfstext in der Kombobox, der jedoch nicht in der Liste enthalten ist.
Ich möchte nun, dass er beim Click auf einen Cmd-Button überprüft, ob der Wert, der in der Kombobox steht auch in der Liste enthalten ist.

Über Google bin ich auf die Objekteigenschaft "matchrequired = true" gekommen, allerdings hält diese mich in der Kombobox - sofern ein Mal ausgewählt - gefangen und die Fehlermeldung ist auch nicht gerade "schön".

Ich bin nun auf der Suche nach einer Alternative. Folgende Codes habe ich:


Code:
Private Sub UserForm_Initialize()
With Combo_Zugehoerigkeit
   .RowSource = "Tabelle3"
   .Text = "Bitte Zugehörigkeit auswählen"
'    .MatchRequired = True
End With
End Sub

Code:
Private Sub Cmd_Uebernehmen_Click()
'prüft, ob die Zugehörigkeit aus der Auswahl erfolgt ist oder aber eigene Schreibweisen
If Combo_Zugehoerigkeit.Value <> Combo_Zugehoerigkeit.RowSource.List Then
   MsgBox "Bitte wählen Sie die Zugehörigkeit aus der Liste aus", vbOKOnly & vbExclamation, "Eintragung erforderlich"
   Combo_Zugehoerigkeit.Value = ""
   Combo_Zugehoerigkeit.SetFocus
   Exit Sub
End If

Leider funktioniert das so nicht - auch nicht nur mit .list oder .rowsource


Bin für jede Hilfe dankbar :)

Gruß Tim
Antworten Top
#2
Hallo,

hat es einen Grund, dass Du Eingaben zulässt? Wenn nicht, dann ändere bei den Eigenschaften den Style.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hi Andre,

der Grund ist, dass ich keine Voreinstellung treffen wollte, sondern ein "Hilfstext" zunächst in der Box stehen sollte - sonst gibt es eigentlich keine Gründe dafür

Gruß Tim
Antworten Top
#4
Ich habe nun folgende Möglichkeit im Internet gefunden ... ob damit Probleme auftauchen kann ich bislang noch nicht abschätzen, da ich den Code nicht verstehe. Im ersten Test scheint es zu funktionieren.


Code:
Private Sub Cmd_Uebernehmen_Click()
Dim Liste As Long

Liste = Me.Combo_Zugehoerigkeit.ListIndex

If Liste = -1 Then
   MsgBox "Hallo"
   Combo_Zugehoerigkeit.SetFocus
   Exit Sub
End If
Antworten Top
#5
Verzichte auf dein Vornehmen.

Verzichte auf rowsource, benütze die Eigenschaft .List
Wenn etwas mitgeteilt werden muss: benutze ein Label oder die Eigenschaft .Controltiptext.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • EasY
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste