• Zapisz się do newslettera, aby otrzymywać powiadomienia o nowościach na blogu
    Zapisując się, wyrażasz zgodę na przesyłanie Ci informacji o nowościach na tym blogu. Zgodę możesz w każdej chwili wycofać (szczegóły).

Nazwy arkuszy na liście rozwijanej, generowanej automatycznie

Czyli zdarzenie arkusza tworzące listę arkuszy

Zadanie na dziś to stworzenie listy rozwijanej, zawierającej nazwy arkuszy w pliku. Powiedzmy, że oddziały naszego sklepu są w różnych miastach, każde miasto ma swój arkusz. My chcemy do głównego arkusza pobrać sumę sprzedaży z wybranego miasta. Interesujące nas miasto (arkusz) chcemy wybrać z listy rozwijanej, i na podstawie naszego wyboru ma się obliczyć suma sprzedaży z tego miast. O tak:

Jak już będziemy mieli nazwę arkusza to dalej pikuś – kiedyś już to opisywałam. Natomiast samo uzupełnienie listy – tutaj bez VBA się nie obejdzie – będą pętle, liczniki i inne bajerki, więc do dzieła!

Czytaj dalej

Opis skrócony na liście rozwijanej

Czyli jak zrobić, aby wpisać do komórki inną wartość, niż wybraną z listy

Często w przypadków nazw klientów, mamy taki problem, że pełna ich nazwa jest bardzo długa, np. DREWMIRSTO Z.P.H. Paweł Mróz. Gdy wystawiamy fakturę dla takiego klienta, to chcemy, aby wyświetliła się na niej pełna nazwa. Natomiast sami posługujemy się nazwą skróconą, w tym wypadku DREWMIRSTO, i takiej też nazwy chcemy szukać na liście rozwijanej. Problem w tym, że standardowa funkcjonalność Excela wyświetla na liście tę samą wartość, co później wpisuje do komórki. W tym wpisie pokazać, jak tę funkcjonalność można zmienić. Uwaga! Nazwy firm są wymyślone.

Chodzi o coś takiego:

Formatka jest prosta, jak widać powyżej. Cała zabawa rozegra się w źródle listy rozwijanej i oczywiście w kodzie VBA 🙂

Czytaj dalej

Zależna lista rozwijana z nieposortowanych danych – zdarzenie VBA

Czyli co zrobić, aby wpisy na liście zmieniały się dynamicznie, kiedy dopisujemy dane

Przyznam, że sporo namęczyłam się, aby znaleźć rozwiązanie tego problemu. Jak już jakieś wymyśliłam, obalałam je, bo nie do końca by działało… Wymyśliłam nawet funkcję tablicową napisaną w VBA, która idealnie zwracałaby tablicę z wynikami, problem jednak polegał na tym, że lista rozwijana potrzebuje ZAKRESU, a moja wyimaginowana funkcja dawała jej tablicę. Gdyby ta tablica znajdowała się w jakimś zakresie, to ok – wszystko pięknie by działało. Ale to byłoby bez sensu: musiałabym mieć tych zakresów wiele i to nie wiadomo jakich rozmiarów… Z kolei nie mogłam napisać funkcji zwracającej zakres, ponieważ zakresu de facto nigdzie nie mam… i tak w koło Macieju.

W końcu wymyśliłam rozwiązanie, które po prostu tworzy listę rozwijaną w momencie kliknięcia w komórkę, w której lista powinna się znajdować. To natomiast jest już procedura zdarzenia VBA, więc jest ciut bardziej skomplikowane. Na szczęście żeby działało, nie trzeba tego rozumieć – wystarczy przekopiować kod 😉

Czytaj dalej

Lista rozwijana w prostym formularzu

W tym artykule pokażę jak stworzyć listę rozwijaną w komórce w prostym formularzu. Efekt będzie następujący:

Lista rozwijana w komórce

Dodatkowo, gdy użytkownik zaznaczy komórkę, by uzupełnić dane – pojawi się komunikat z informacją, jakie dane ma uzupełnić (komunikat wejściowy). Gdy zaś wpisze błędną wartość – pojawi się komunikat o błędzie (alert o błędzie) i użytkownik zostanie poproszony o wpisanie/wybranie poprawnej wartości.
Czytaj dalej