Hallo Alle!
Auf einem Formular soll mittels Combo Box eine bereits geöffnete Arbeitsmappe ausgewählt werden. Das mache ich so:
Private Sub Comb\_datei1\_DropButtonClick()
Me!Comb\_datei1.Clear
For Each w In Workbooks
Me!Comb\_datei1.AddItem w.Name
Next w
End Sub
Das habe ich dem Ereignis „DropButtonClick“ zugeordnet denn, falls die gewünschte Datei noch nicht geöffnet ist kann man diese mit einem Button nachladen.
Somit soll die Combo Box bei erneutem klicken um die neue Datei ergänzt werden.
Problem:
Nun werden aber die bereits vorhandenen Arbeitsmappen erneut aufgelistet.
Damit das nicht passiert dachte ich vorher „clear“ zu verwenden. Jetzt erscheinen die Arbeitsmappen tatsächlich nur 1x in der Combo Box allerdings verschwindet auch der ausgewählte Eintrag.
Die Combo Box ist also unwirksam;-(
Was kann man da machen bzw. wo ist hier der Denkfehler?
Besten Dank im Voraus!
Gruß
Georg
Hallo Alle!
Damit das nicht passiert dachte ich vorher „clear“ zu
verwenden. Jetzt erscheinen die Arbeitsmappen tatsächlich nur
1x in der Combo Box allerdings verschwindet auch der
ausgewählte Eintrag.
Die Combo Box ist also unwirksam;-(
Was kann man da machen bzw. wo ist hier der Denkfehler?
Hallo,
definier doch einfach eine Variable in der die aktuelle Auswahl der Combobox hinterlegt wird. Nach der Aktualisierung kannst Du diesen Eintrag dann wieder als aktuelle Auswahl setzten, sofern die Mappe noch geöffnet ist.
Private Sub Comb\_Datei1\_DropButtonClick()
Dim Merker As String
Dim MerkerExistiert As Boolean
Dim w As Workbook
With Me!Comb\_Datei1
Merker = .Value 'letzte Auswahl merken
.Clear 'alle Einträge löschen
For Each w In Workbooks
.AddItem w.Name
'Test ob letzte Auswahl noch existiert
If w.Name = Merker Then MerkerExistiert = True
Next w
If MerkerExistiert Then .Value = Merker Else \_
.Value = Null 'ggf. letztze Auswahl wiederherstellen
End With
End Sub
Gruß, tester!
Hallo!
Besten Dank,
klappt prima!
gruß
Georg