• 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).

Dane do wykresu wybierane z listy rozwijanej

Czyli dynamiczny wykres prostą metodą

Chcemy porównać ze sobą sprzedaż i plan z 2 lat. Przedstawienie tego na jednym wykresie będzie nieczytelne, a na 2 oddzielne wykresy nie mamy miejsca i ochoty. Chcemy więc stworzyć jeden wykres, ale taki, aby użytkownik mógł decydować, czy chce zobaczyć na nim porównanie sprzedaży czy planu. O tak:

Wygląda groźnie i skomplikowanie, ale zobaczysz, że do zrobienia tego zadania potrzebujemy sprytnego ułożenia danych i jednej funkcji… :). Let’s go!

Czytaj dalej

Uzupełnianie danych na podstawie wyboru z listy rozwijanej

Czyli bajeranckie zastosowanie WYSZUKAJ.PIONOWO

Na podstawie wyboru z listy rozwijanej do formatki mają się wpisać określone dane. Jedni użyją tego mechanizmu do pomocy przy tworzeniu świadectw pracy, inni do pracy z umowami, jeszcze inni – do tworzenia ofert dla klientów.

Najlepsze jest to, że niezależnie od zastosowania – potrzebujemy tego samego mechanizmu, aby osiągnąć ten sam efekt:

A tym mechanizmem jest nic innego, jak ukochana przez wszystkich (no… prawie wszystkich) funkcja WYSZUKAJ.PIONOWO! I o niej dzisiaj 🙂

Czytaj dalej

Wyróżnij kolorem cały wiersz tabeli

Czyli formatowanie warunkowe – prosty przykład

Ostatnio prowadziłam szkolenie, pod koniec którego jeden z uczestników zapytał mnie jak zaznaczyć cały wiersz tabeli, jeśli w wybranej kolumnie występuje wybrany wpis. Ponieważ nie starczyło już czasu na pełną odwiedź na to pytanie – skierowałam go na blog, żeby na spokojnie o tym doczytał. Zaczęłam szukać konkretnego wpisu, bo byłam przekonana, że taki jest, a tutaj patrzę: nie ma! Jest kilka innych, wykorzystujących tę samą technikę (np.  wartości w 2 kolumnach musiały już kiedyś wystąpić, część wspólna warunków, lub inna wersja części wspólnej warunków), natomiast nie było takiego stricte najprostszego przykładu!

Pomyślałam: no nie, tak nie może być! Przecież to klasyka!

Ten wpis będzie nadrabiał tę niedoróbkę i omówię w nim jak zrobić, aby po wybraniu z listy rozwijanej działu – w tabeli z danymi podświetlały się całe wiersze, w których ten dział występuje. Czyli chcę uzyskać taki efekt:

Czytaj dalej

Przycisk opcji nie działa w chronionym arkuszu!

Czyli nie zawsze jest tak, jak nam się wydaje, a Excel prawdę Ci powie

Tworząc formularze w Excelu zazwyczaj chcemy je później ochronić, aby użytkownicy nic w nich nie napsuli. W tym celu korzystamy oczywiście z ochrony arkusza. Wszystko ładnie pięknie, natomiast gdy tę ochronę zakładamy, to… formularz nagle przestaje nam działać i pojawia się komunikat o chronionej komórce! Pokazuje to poniższy obrazek:

Ale czy to na pewno jest tak, że to formularz, a konkretnie formanty formularza, przestają działać? Dlaczego w takim razie Excel krzyczy, że komórka jest chroniona? Jest na to bardzo prosta odpowiedź, jednocześnie pokazująca, że często problem tkwi zupełnie gdzieś indziej, niż nam się wydaje.

Czytaj dalej

Dynamiczne etykiety na mapie

Czyli mapa zależna od wyboru na liście rozwijanej

Chcemy analizować poziom hałasu w wybranych miastach, w wybranych miesiącach. Tabelę z danymi mamy przygotowaną w arkuszu, jednak wyniki chcemy zwizualizować na mapie w miły dla oka sposób. Naszym celem jest, aby użytkownik wybierał z listy rozwijanej miesiąc analizy, a odpowiednie wartości poziomu hałasu dla miast wyświetlą się na mapie. Dodatkowo, od razu chcemy również zobaczyć w których miejscach poziom hałasu został przekroczony – wartość ma zostać wtedy zaznaczona na czerwono. Chodzi o taki efekt:

Mapa zależna od wyboru na liście rozwijanej

Na pierwszy rzut oka wydaje się to niesamowicie skomplikowane, jednak w wersji minimalnej wystarczy do tego formatowanie warunkowe i WYSZUKAJ.PIONOWO. Zobaczcie 🙂

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

Lista rozwijana wielokrotnego wyboru – edycja wpisu

Czyli sterowanie zdarzeniem

To będzie chyba najkrótszy post na tym blogu. Niby trudna rzecz, a wymaga 2 linijek kodu VBA i ustawienia jednej opcji w Excelu. O co chodzi?

W tym wpisie pokazywałam jak zrobić listę wielokrotnego wyboru za pomocą narzędzia sprawdzania poprawności. Wszystko pięknie działało, natomiast problem pojawiał się wtedy, kiedy chcieliśmy dokonać zmiany we wcześniej wpisanych wartościach, np. skasować jakąś wartość. Efekt był taki, że ponieważ skorzystaliśmy z mechanizmu sprawdzania poprawności, to Excel nie pozwalał nam wprowadzać do komórki innych wartości, niż pojedynczy wpis na liście rozwijanej. A taką było większość wpisów, które wybraliśmy.

Dlatego dzisiaj pokażę rozwiązanie tego problemu. Najprostsze z możliwych, czyli takie, jak lubię :). Efekt będzie taki:

Do dzieła!

Czytaj dalej

Lista rozwijana wielokrotnego wyboru (odsłona 2)

Czyli wybieranie z listy ROZWIJANEJ więcej niż jednej pozycji

W poprzednim wpisie pokazywałam sposób na stworzenie listy wielokrotnego wyboru. Lista ta była formantem formularza, czyli “pływającym” w arkuszu obiektem, który mogliśmy umieścić w wybranym przez siebie miejscu. Rozwiązanie to było świetne, gdy mieliśmy mało komórek, do których chcieliśmy wpisać wartość z tej listy. Gorzej jest jednak, gdy mamy wiele komórek, w której, o zgrozo!, każda ma inną listę i z każdej z nich chcemy wybierać po kilka wartości do komórki. Masakra!

Sytuacje takie jednak jak najbardziej się zdarzają, więc dziś o tym, jak sobie wtedy radzić. Znów będzie o VBA i to nie takim oczywistym niestety. I znów będą zdarzenia :). Znów, ponieważ już ostatnio o nich pisałam, np. przy otwieraniu pliku na konkretnym arkuszu czy kasowaniu wpisu na zależnej liście rozwijanej.

Efekt będzie taki:

Wynik

Czytaj dalej

Lista wielokrotnego wyboru (odsłona 1)

Czyli wybieranie z listy więcej niż jednej pozycji

Wiele razy korzystałam z list w formie formantów formularza, aby pobrać z nich wartość i wpisać do komórki. Nigdy jednak nie potrzebowałam wybrać z takiej listy kilku wartości i wpisać ich do komórki. Z taką potrzebą zgłosił się do mnie Wojtek. Temat mega mnie zaciekawił i pomyślałam, że Was też może.

Czyli sytuacja jest taka, że z listy rozwijanej chcemy wybrać kilka wartości i chcemy wpisać je do komórki tak, żeby każda pozycja listy była w nowym wierszu tej samej komórki. Nie jest to może zgodne ze “sztuką”, natomiast życie jest życiem i tak czasem chcemy albo jesteśmy zmuszeni. BTW: i tak cała trudność będzie w pobraniu wartości z listy, a samo wpisanie ich to już pikuś ;).

Całość będzie miała taki efekt:

 

Oczywiście bez VBA się tutaj nie obędzie, więc bez zbędnego przedłużania… do dzieła!

Czytaj dalej

Kasowanie wartości zależnej listy rozwijanej na długiej liście (VBA)

Czyli automatyczne kasowanie wartości po raz drugi

Ostatnio, w tym wpisie, pokazałam jak sprawić, żeby wpis na zależnej liście rozwijane sam się kasował, gdy tylko zostanie zmieniona wartość kategorii, czyli komórki, od której nasza lista rozwijana zależy. Wszystko fajnie, natomiast rozwiązanie to uwzględniało, że mamy tylko dwie komórki: z kategorią i podkategorią. Problem zaczyna się pojawiać, gdy tych komórek mamy więcej – całą listę. Taką sytuację pokazuje poniższy rysunek:

Formatka

Formatka

Czyli chodzi o to, że jak zmienię wartość listy rozwijanej w kolumnie B – ma się wykasować wartość Podkategorii (kolumna C) z odpowiedniego wiersza. Znamy kolumnę komórki, która ma zostać wykasowana (C), ale nie znamy wiersza, gdyż zależy on od tego, którą komórkę wybierze użytkownik. Na tym właśnie polega cała trudność tego zadania.

Do jego rozwiązania znów posłużę się VBA, oczywiście zdarzeniem, ale tym razem będzie ono bardziej skomplikowane. Użyję do tego konstrukcji warunkowej IF (odpowiednik arkuszowej funkcji JEŻELI), właściwości Cells zakresu i jeszcze kilku innych trików 🙂

Czytaj dalej