Ustawienie wartości domyślnej dla dynamicznej listy weryfikacji kaskadowej w Excel 2010

11

W końcu wymyśliłem, jak zbudować dynamiczny kaskadowy zestaw list w programie Excel za pomocą sprawdzania poprawności danych i funkcji POŚREDNIE. Mam jednak problem.

Chciałbym skonfigurować mój arkusz kalkulacyjny, aby za każdym razem, gdy wprowadzana była zmiana na liście sprawdzania poprawności danych, wszystkie kolejne listy były ustawiane na wartość domyślną. Na przykład:

Powiedzmy, że mam List1, List2, List3 i List4. Wartości każdej listy zależą od wyboru dokonanego na liście przed nią. Kiedy uruchamiam arkusz kalkulacyjny, chcę, aby wszystkie listy były domyślnie ustawione na „WSZYSTKO”. Gdy użytkownik wybierze wartość z Listy 1, Lista 2 zostanie zaktualizowana o zestaw prawidłowych wyborów. Chciałbym ustawić List2 na jedną z tych opcji. Jednakże, chociaż mogę sprawić, by List2 zapełnił się prawidłowym zestawem opcji wyboru, nie mogę mu przypisać żądanej wartości domyślnej.

Podobnie, jeśli użytkownik dokona wyboru na List1, List2 i List3, a następnie wróci i zmieni List1, chciałbym, aby List2-List4 domyślnie powrócił do „WSZYSTKICH”.

Jak mam to zrobic?

Sójka
źródło
3
To zadanie dla wyzwalacza zdarzenia VBA worksheet_change. Nie mam teraz czasu, aby podać szczegóły (później będę, jeśli nadal będziesz potrzebować pomocy), ale właśnie tam powinieneś skierować swoje badania.
Excellll,
Prawdopodobnie już to rozwiązałeś lub zrezygnowałeś. Zgadzam się z Excellll, że zmiana arkusza roboczego może być najłatwiejsza. Jednak w przypadku opcji sprawdzania poprawności danych źródłem może być wyrażenie takie jak =IF(A1="List1",C1:C5,D1:D4). Przetestowałem to z wartością komórki A1 wybraną z listy i działa ona tak, jak szukasz.
Tony Dallimore,
Nadal masz ten problem?
Tamara Wijsman,
Do Twojej wiadomości, metodą inną niż VBA, którą stosuję do tego problemu, jest zastosowanie WARUNKOWEGO formatowania do kolejnych komórek, które sprawdzają, czy bieżąca wartość, którą posiada, odpowiada wartości w bieżącym zakresie referencyjnym INDIRECT (). Jeśli NIE, wówczas komórka zmienia kolor na czerwony lub wartość znika (pasująca czcionka / tło), więc użytkownik wie, że wartość tej komórki musi zostać zaktualizowana / ponownie wybrana.
Jerry Beaucaire
Aby zilustrować zarówno metodę VBA, jak i metodę CF, o której wspomniałem powyżej, znajduje się tutaj przykładowy plik DependentLists3.xls
Jerry Beaucaire

Odpowiedzi:

1

Metodą inną niż VBA, którą stosuję do tego problemu, jest zastosowanie formatowania WARUNKOWEGO do kolejnych komórek, które sprawdzają, czy bieżąca wartość, którą przechowuje, odpowiada wartości w bieżącym zakresie referencyjnym INDIRECT (). Jeśli NIE, wówczas komórka zmienia kolor na czerwony lub wartość znika (pasująca czcionka / tło), więc użytkownik wie, że wartość tej komórki musi zostać zaktualizowana / ponownie wybrana.

Aby to zilustrować (i metodę VBA wspomnianą przez innych powyżej), znajduje się tutaj przykładowy plik . Plik, który chcesz to DependentLists3.xls

Jerry Beaucaire
źródło