Jestem programistą C#/.NET, ale nie jestem zbytnio zaznajomiony z programowaniem Excela lub VBA. W przypadku projektu pobocznego mam arkusz kalkulacyjny, który będzie używany przez nietechnicznych użytkowników do wprowadzania danych. Później ten arkusz kalkulacyjny zostanie wyeksportowany do innego formatu za pośrednictwem programu wiersza poleceń C#, który napisałem, aby dane mogły zostać zrzucone do innego systemu.Pola wyboru dla wielu wartości w pojedynczej komórce w Excelu
Potrzebne są wartości danych, które należy wprowadzić dokładnie tak, jak oczekuje program wiersza poleceń, więc błąd użytkownika spowodowany literówką lub nieznacznymi różnicami w sformułowaniach byłby problematyczny. Potrzebuję użytkownika, aby wybrać z możliwych wartości, a nie polegać na tym, że użytkownik wprowadzi poprawną wartość.
Dla kolumn, które mogą mieć tylko jedną wartość w komórce, udało mi się to osiągnąć, korzystając z menu rozwijanego, z którego użytkownik może wybrać. Zrobiłem to za pomocą instrukcji tutaj:
http://office.microsoft.com/en-us/excel-help/insert-or-delete-a-drop-down-list-HP010072599.aspx
Problem polega na tym, mam kilka kolumn, których komórki mogą posiadać wiele wartości, rozdzielając je przecinkami. Na przykład mam kolumnę "Kolor". Wartość komórki w tej kolumnie może być pojedynczym kolorem (np. "Czerwony") lub listą kolorów oddzielonych przecinkami (np. "Czerwony, zielony, niebieski"). Idealnie chciałbym, aby użytkownik mógł kliknąć komórkę i zobaczyć listę pól wyboru, z których mogliby wybrać kolory, a po jej zakończeniu komórka zostanie zaktualizowana o te kolory oddzielone przecinkami.
Jaki jest najlepszy sposób, aby to osiągnąć? Próbowałem googlowania i znalazłem tą metodą:
http://www.contextures.com/excel-data-validation-multiple.html
... który umożliwia wybranie kilka pozycji z rozwijanego menu, ale jest to niewygodne, ponieważ musi być rozwijana ponownie otwarty za każdym razem inny element musi być dodany . Pola wyboru byłyby wygodniejsze. Czy to możliwe, a jeśli tak, to w jaki sposób?
Wow, to naprawdę dobra instrukcja. Poszedłem za nim i wygląda na to, że działa ładnie. Chociaż zastanawiałem się nad jedną niezręczną rzeczą. Ilekroć wybieram komórkę, oryginalne przedmioty są usuwane (nawet jeśli nic nie zrobiłem). Czy jest to szybkie i łatwe, aby to przynajmniej nie usunęło się, poruszając kursorami? –
@ThomasCheng Spróbuj usunąć drugą 'For Loop'. – L42