Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1380to1384
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
Inhaltsverzeichnis

Eigenartiges Comboboxverhalten

Eigenartiges Comboboxverhalten
11.09.2014 09:03:51
Michael
Hallo aus Wien,
mein Problem mit den API-Funktionen konnte ich inzwischen lösen - war ein Problem an ganz anderer Stelle. Egal!
Meine neue Frage betrifft ein Problem, wo ich seit Stunden einfach nicht schlau werde:
Ich habe eine Combobox die nach der Überprüfung von bestimmten Einträgen in einer Liste mit verschiedenen Inhalten befüllt wird (z.B. wenn ein Eintrag in der Liste bereits vorhanden ist, darf er in der ComboBox nicht mehr aufscheinen).
Das funktioniert auch gut. Ich steuere die Box zunächst mit dem Ereignis DropButtonClick an und führe dann die Überprüfung und Neubefüllung der Box aus.
Wähle ich nun ein Element der Box aus löst das logischerweise ein Change-Ereignis aus.
Und jetzt das Eigenartige:
Der ausgewählte Eintrag wird mir in der Box nach Schließen des Auswahlfensters nicht angezeigt. Stelle ich jedoch eine MsgBox an den Beginn des Events zeigt er mir alles perfekt an. Wie kann eine MsgBox entscheidend sein, ob in einer Combobox ein Inhalt aufscheint oder nicht?
Hier der Code dazu:

Private Sub ComboBox1_Fill()
LangKat ("ZAHLUNGSART")
ZACount1 = 0
ZACount2 = 0
'Änderung bei vorhandener Barzahlung
For i = 0 To Listbox1.ListCount - 1
If Me.Listbox1.List(i, 1) = Worksheets("Language").Cells(LangKatRow + 5, LangIndex). _
Value Then
ZACount1 = 1
End If
Next i
'Änderung bei vorhandener Banküberweisung
For i = 0 To Listbox1.ListCount - 1
If Me.Listbox1.List(i, 1) = Worksheets("Language").Cells(LangKatRow + 6, LangIndex). _
Value Then
ZACount2 = 2
End If
Next i
NoEvent = True
Me.ComboBox1.Clear
NoEvent = False
For i = 5 To 8
If i = 5 And ZACount1 = 1 Then GoTo weiter
If i = 6 And ZACount2 = 2 Then GoTo weiter
Me.ComboBox1.AddItem Worksheets("Language").Cells(LangKatRow + i, LangIndex).Value
weiter:
Next i
End Sub

Private Sub ComboBox1_Change()
If NoEvent Then Exit Sub
MsgBox("?"),vbsystemmodal
LangKat ("ZAHLUNGSART")
'Freischalten Combobox2
If ComboBox1.Value = Worksheets("Language").Cells(LangKatRow + 7, LangIndex).Value Or  _
ComboBox1.Value = Worksheets("Language").Cells(LangKatRow + 8, LangIndex).Value Then
ComboBox2.Enabled = True
ComboBox2.BackColor = &H80000005
'Freischalten des Speicherknopfes
If TextBox1.Text  "" And ComboBox1.Value  "" And ComboBox2.Value  "" Then
Button2.Enabled = True
Else
Button2.Enabled = False
End If
Else
ComboBox2.Enabled = False
ComboBox2.Value = ""
ComboBox2.BackColor = &H80000004
'Freischalten des Speicherknopfes
If TextBox1.Text  "" And ComboBox1.Value  "" Then
Button2.Enabled = True
Else
Button2.Enabled = False
End If
End If
End Sub

Private Sub ComboBox1_DropButtonClick()
Call ComboBox1_Fill
End Sub

Ich will diese MsgBox nicht, weil sie den Ablauf unnötig kompliziert! Habt ihr eine Idee dazu?
Danke und LG
Michael

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eigenartiges Comboboxverhalten
11.09.2014 09:23:26
yummi
Hallo Michael,
poste doch mal deien Datei, dann kann man dir eher helfen.
Gruß
yummi

AW: Eigenartiges Comboboxverhalten
11.09.2014 09:29:54
Michael
Hallo Yummi,
danke für die rasche Meldung! Ich glaub, ich habs schon gefunden: In der Liste mit den gespeicherten Daten stehen Einträge, die er nachher für die ComboBox ausschließt. Wenn ich jetzt aber einen dieser Einträge einlesen möchte, motzt er, weil er den vorhandenen Eintrag nicht in der aktuellen Auswahlliste der Combobox finden kann ... warum das allerdings dann damit zusammenhängt, ob ich da eine MsgBox einfüge oder nicht, ist und bleibt mir ein Rätsel.
Ich kann dir das File gerne schicken, komm aber erst wieder abends dazu.
LG Michael

Anzeige
AW: Eigenartiges Comboboxverhalten
11.09.2014 09:35:41
yummi
Hallo Michael,
ansonsten hilft debuggen auf 2 Bildschirmen ;-)
Die Msgbox führt ja zu einer Unterbrechung des Events und Abgabe an einen anderen Prozeß, evtl führt ein DoEvents anstatt der MsgBox zum selben Ergenis.
Gruß
yummi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige