2012-10-02 14 views
7

Hej, wydaje mi się, że powinno to być proste rozwiązanie, ale po prostu nie mogłem się jeszcze na nie natknąć.VBA Clear Selections of Combobox

Mam combobox. Combobox ma wartości, które po wybraniu prowadzą do innych pytań. Mam przycisk, który chcę być przyciskiem "Up one level", który po naciśnięciu usuwa wszystkie poniższe pytania i resetuje wyświetlanie combobox jako nic, np. Kiedy został utworzony przed wyborem jakichkolwiek opcji. Chcę, aby wartości w combobox nadal były obecne, aby użytkownik mógł nadal dokonywać wyboru.

Nie mogę wydawać się być w stanie wymyślić tego. Próbowałem ustawić wartość = 0, ListIndex = -1, zarówno bez skutku. Nie chcę używać "Wyczyść", ponieważ chcę zachować wartości w combobox. Jeśli przejrzysz właściwości combobox kilka razy i nie mogę wybrać, który z nich pomoże mi zrobić to, co chcę tutaj.

Twoja pomoc w ustaleniu tego będzie mile widziana.

+0

... a więc chcesz mieć pole kombi, mieć wartości, których tak naprawdę tam nie ma? Jaki jest twój przypadek użycia? – enderland

+3

Czy jesteś pewien, że 'combobox1.ListIndex = -1' nie działa? Gdzie jest combobox? W jaki sposób dodałeś do niego dane? –

+0

Czy istnieje również możliwość, że w przypadku zmiany/kliknięcia kombinacji zresetujesz wartość? –

Odpowiedz

6
Listbox.Value=null 

powinien załatwić sprawę.

+1

Err, wydaje mi się, że miałeś na myśli ComboBox? –

+2

To działało (wraz z "combobox.ListIndex = -1") wraz z ponownym pozycjonowaniem kodu musiałem zrobić. Dzięki! – Paul

+0

@Siddharth Rout: w prawo – Johanness

1

Jeśli użyjesz: ComboBox1.ListIndex = -1 bez elementów listy, nie będzie efektu. Jest to problem, jeśli dynamicznie ładujesz elementy. Użyj: ComboBox1.Value = Null, aby wyczyścić wartość, jak wspomniano powyżej.