Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1908to1912
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
ActiveX ComboBox über VBA programmieren
05.12.2022 11:30:53
BerndVBA
Hallo Leute,
ich habe aktuell das Problem, dass ich in ein bestehendes Formular eine ActiveX ComboBox hinzufügen möchte, welche ich dann über VBA befülle.
Soweit so gut. Das Befüllen funktioniert gut über die Workbook_Open Funktion. Sobald ich allerdings eine Fehlermeldung generieren möchte, weil bspw. ein Wert eingegeben wurde, welche nicht im Dropdown steht, dann komm ich an meine Grenzen.
.matchrequired = True
funktioniert hier leider nicht.
Hat jemand eine Idee? Mappe hab ich hinzugefügt. https://www.herber.de/bbs/user/156528.xlsm
Danke und Gruß
Bernd

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveX ComboBox über VBA programmieren
05.12.2022 11:44:40
Oberschlumpf
Hi Bernd,
änder die Eigenschaft STYLE der Combobox auf 2 - jetzt ist es nur möglich, Einträge aus der Liste der Combobox auszuwählen - Freitexteingabe geht gar nicht mehr.
Hilfts?
Ciao
Thorsten
AW: ActiveX ComboBox über VBA programmieren
05.12.2022 11:53:35
Bernd
Hallo Thorsten,
vielen Dank für deine Nachricht. Das funktioniert schon gut.
Mir fehlt aber noch die klassische Fehlermeldung. Mein Plan war es, dass man im Freitext in der ComboBox schreiben , aber eben halt nur die vorgegebenen Werte bestätigen kann.
Geht das noch irgendwie?
Und eine Interessensfrage: Wieso funktioniert der .matchrequired = True Befehl in der von mir erwähnten Konstellation nicht, aber in einer UserForm schon?
Danke und Gruß
Bernd
Anzeige
AW: ActiveX ComboBox über VBA programmieren
05.12.2022 12:07:46
Oberschlumpf
Hi Bernd,
was die Eigenschaft matchrequired betrifft, kenne ich mich nicht aus.
Und wenn du etwas, was es nicht gibt, nicht auswählen kannst, dann kann es auch keine "Geht nicht"-MsgBox geben.
Wenn STYLE auf 1 bliebe, könnte man da zwar etwas programmieren, aber sorry, da hab zumindest ich keine Lust, weil es ja eine super lösung mit STYLE=2 gibt.
Weiter viel Erfolg!
Ciao
Thorsten
AW: ActiveX ComboBox über VBA programmieren
05.12.2022 12:40:57
Bernd
Hat folgenden Hintergrund, dass ich auch die Fehlermeldung brauche, wenn die ComboBox nicht befüllt wird.
AW: ActiveX ComboBox über VBA programmieren
05.12.2022 12:57:48
ChrisL
Hi Bernd
Hier eine Idee...

Private Sub Workbook_Open()
Dim vAntwort As Variant
Do
vAntwort = Application.InputBox("Bitte Jahr von 2016 bis 2021 eingeben")
If vAntwort = False Then
MsgBox "Abbruch. Die Datei wird geschlossen."
ThisWorkbook.Close False
End If
Select Case CStr(vAntwort)
Case "2016", "2017", "2018", "2019", "2020", "2021": Exit Do
Case Else: MsgBox "Ungültige Eingabe. Try again..."
End Select
Loop
With Tabelle1.ComboBox1
.AddItem "2016"
.AddItem "2017"
.AddItem "2018"
.AddItem "2019"
.AddItem "2020"
.AddItem "2021"
.Value = vAntwort
End With
End Sub
cu
Chris
Anzeige
AW: ActiveX ComboBox über VBA programmieren
05.12.2022 13:16:21
GerdL
Noch ein anderes Gedicht.

Private Sub ComboBox1_LostFocus()
Dim i As Integer
For i = ComboBox1.ListCount - 1 To 1 Step -1
If ComboBox1.List(i, 0) = ComboBox1 Then Exit Sub
Next
MsgBox "Bitte keine heiße Asche in die Combobox einfüllen!", vbCritical
ComboBox1.Activate
End Sub
Gruß Gerd
AW: ActiveX ComboBox über VBA programmieren
11.12.2022 14:42:45
Bernd
Wow! Genau DAS hab ich gesucht. Vielen herzlichen Dank!
Gruß Bernd
AW: ActiveX ComboBox über VBA programmieren
05.12.2022 16:19:18
Rudi
Hallo,

Private Sub Workbook_Open()
With Tabelle1.ComboBox1
.Clear
.List = Split(",2016,2017,2018,2019,2020,2021,2022", ",")
.MatchRequired = True
End With
End Sub

Private Sub ComboBox1_LostFocus()
With ComboBox1
If IsError(Application.Match(.Value, .List, 0)) Then
MsgBox "Fehler"
End If
End With
End Sub
Gruß
Rudi
Anzeige

18 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige