W dzisiejszym poście nauczymy się jak skopiować kod add-inn (kod dodatku do Excela), żeby wkleić go do konkretnego pliku Excela. Zadanie to wykonamy na podstawie przykładowych danych z rys. nr 1.
Rys. nr 1 – przykładowe dane
W poprzednim
poście (porada 379) pokazaliśmy jak
zainstalować add-inn, dodatek do Excela na przykładzie Jona Acampory. Problem z
dodatkami jest taki, że są instalowane na konkretnym urządzeniu (komputerze) i
przy kopiowaniu pliku, przenoszeniu pliku na inne urządzenie dodatek nie będzie
działał. Podsumowując na innym urządzeniu mimo, że korzystamy z tego samego
pliku nie mamy dodatkowych opcji wynikających z dodatku, z którego
korzystaliśmy, nie ma również dodatkowej karty XL Campus na pasku narzędzi.
Możemy
jednak skopiować kod tego dodatku i podpiąć go pod konkretny plik Excela.
Wykonamy to zadanie z kodem Jona Acampory ponieważ jest on darmowy i możemy
sobie pozwolić na jego kopiowanie.
Załóżmy że
mamy otwarty nasz przykładowy plik Excela (dane z rys. nr 1) i mamy pobrany
dodatek Add-inn Jona Acampory na dysk (rys. nr 2).
Rys. nr 2 – dodatek Jona Acampora pobrany na dysk
Istotne jest, że jeśli wykonałeś czynności z poprzedniego postu i masz już zainstalowany dodatek add-in to nie musisz na tym etapie otwierać pliku dodatku. My dla przykładu otworzymy sobie ten plik w Excelu (nie zainstalujemy tylko otworzymy), czyli klikamy na jego nazwę prawym przyciskiem myszy (plik z rozszerzeniem .xlam) i z podręcznego menu rozwijamy polecenie Otwórz za pomocą, a następnie wybieramy program Excel (rys. nr 3).
Rys. nr 3 – Otwieranie dodatku add-in za pomocą programu Excel
Po
uruchomieniu Excela kod Jona Acampory powinien się uruchomić, czyli powinniśmy
widzieć kartę XL Campus. Jest tp uruchomienie jednorazowe, czyli jak ponownie
uruchomimy Excela to już tego dodatku nie będzie (w przeciwieństwie do porady
nr 379, gdzie instalowaliśmy dodatek na stałe na to urządzenie).
Istotne dla nas jest teraz wyciągnięcie kodu z tego dodatku i podpięcie do na stałe do tego pliku. Korzystając ze skrótu klawiszowego Alt+F11, przechodzimy do Edytora zaawansowanego VBA (rys. nr 4).
Rys. nr 4 – edytor zaawansowany VBA
Przede wszystkim musimy sobie uruchomić edytor Projektu, a możemy to zrobić wybierając polecenie Project Explorer z karty View (rys. nr 5).
Rys. nr 5 – polecenie Project Explorer
W edytorze projektu widzimy dodatek Add-in oraz nasz plik, który nie posiada pod sobą żadnych modułów, formularzy czy klas. Musimy skopiować elementy zaznaczone na zielono na rys. nr 6 do naszego pliku. Możemy je kopiować dzięki temu, że dodatek Jona Acampora jest darmowy.
Rys. nr 6 – elementy dodatku add-in, które musimy skopiować
Moduły z dodatku kopiujemy na zasadzie przeciągania, czyli przeciągamy wszystkie moduły dodatku add-in do naszego pliku. Po skopiowaniu nasz plik powinien zawierać wszystkie elementy kodu dodatku (przedstawione na rys. nr 7).
Rys. nr 7 – elementy kodu skopiowane do naszego pliku
Kiedy już
skopiujemy ten kod, musimy poznać na tyle ten dodatek, żeby wiedzieć które
makro jest tym głównym, które uruchamia cały proces. W przypadku tego dodatku
jest to formularz. Aby uruchomić ten formularz potrzebujemy kodu, który
przygotowałem sobie wcześniej. Kod ten powinien wyglądać następująco:
Sub
ListaWyszukaj ()
F_ListSearch.Show
End sub
Zaznaczamy
ten kod (rys. nr 8) i kopiujemy go za pomocą skrótu klawiszowego Ctrl+C.
Rys. nr 8 – kod dodatku Add-in (makro)
Aby wkleić ten kod do naszego pliku klikamy prawym przyciskiem myszy na Modules (moduły w naszym pliku) i z podręcznego menu rozwijamy polecenie Insert, a następnie wybieramy polecenie Module (rys. nr 9).
Rys. nr 9 – polecenie wstawiania modułu (makra)
Otworzy nam się okno, gdzie za pomocą skrótu klawiszowego Ctrl+V możemy wkleić wcześniej skopiowane makro (rys. nr 10).
Rys. nr 10 – miejsce wklejenia skopiowanego makra
Musimy pamiętać o zapisaniu pliku za pomocą skrótu klawiszowego Ctrl+S. Powyższe działania sprawiły, że mamy działające uruchamiające makro podpięte do naszego pliku. Możemy teraz w Excelu podejrzeć makra klikając polecenie Makra na karcie Deweloper (rys. nr 11). Możemy również skorzystać ze skrótu klawiszowego Alt+F8.
Rys. nr 11 – polecenie Makra na karcie Deweloper
Otworzy nam się okno ze wszystkimi makrami w kodzie przedstawione na rys. nr 12. Nasze makro uruchamiające formularz nazywa się ListaWyszukaj. Musimy je znaleźć na liście wszystkich makr i zaznaczyć. Ważne jest, aby to makro przypiąć do jakiegoś przycisku lub podpiąć pod skrót klawiszowy. My podepniemy je pod skrót klawiszowy ponieważ będziemy go często używać. W tym celu zaznaczamy nasze makro i przechodzimy do jego edycji za pomocą przycisku Opcje (rys. nr 12).
Rys. nr 12 – Nazwa naszego makra na liście wszystkich makr
Otworzy nam się okno Opcji makra, gdzie możemy sobie wybrać jakiś skrót uruchamiający nasze makro. W polu Klawisz skrótu wpisujemy np. literkę L i otrzymamy skrót klawiszowy uruchamiający makro w postaci Ctrl+L. Wybrany skrót klawiszowy zatwierdzamy przyciskiem OK (rys. nr 13).
Rys. nr 13 – Opcje makra
Excel po zatwierdzeniu skrótu klawiszowego powróci do okna Makro, które zamykamy za pomocą znaku x w prawym górnym rogu okna. Teraz możemy sprawdzić działanie makra uruchamiającego nasz dodatek. Wciskamy skrót klawiszowy Ctrl+L aby uruchomić makro ListSearch (rys. nr 14).
Rys. nr 14 – makro ListSearch uruchomione za pomocą skrótu klawiszowego Ctrl+L
W polu w tym oknie możemy zacząć wpisywać nazwę artykułu i funkcja ta ograniczy liste wyszukiwania do słów zawierających dane znaki (rys. nr 15).
Rys. nr 15 – lista rozwijana z wyszukiwaniem
Kod Jona jest dobrze dopracowany, mianowicie jeśli wpiszemy jakąś wartość i nie wybierzemy czegoś z listy a będziemy chcieli zatwierdzić wpisane znaki przyciskiem Enter, to wyskoczy nam komunikat, że tej wartości nie możemy wpisać bo nie ma jej na liście (rys. nr 16).
Rys. nr 16 – komunikat, że wpisanej wartości nie ma na liście
Musimy mieć
pewność, że wpisaliśmy pełną nazwę z listy, ponieważ w przeciwnym razie dodatek
add-in nie pozwoli nam jej zatwierdzić Enterem.
Analogicznie
dodatek zadziała dla listy elementów – kolumny z danymi (bez listy rozwijanej).
Uruchamiamy ponownie kod dodatku za pomocą ustawionego przez nas skrótu
klawiszowego Ctrl+L. Pojawi nam się okienko ListSearch, które automatycznie
wykryje wszystkie elementy z listy w kolumnie (rys. nr 17).
Rys. nr 17 – ListSearch wykrywające elementy z listy w kolumnie (nie listy rozwijanej)
Wszystko
działa poprawnie, mamy podpięty kod pod nasz plik i mamy pewność, że po
uruchomieniu na innym komputerze zadziała on poprawnie.
Potrzebna
nam jest jeszcze drobna modyfikacja tego kodu ponieważ została ona napisana pod
język angielski, gdzie znakiem (ogranicznikiem) rozdzielającym elementy jest
przecinek (,) a nie jak w polskiej wersji średnik (;). Zaznaczamy dowolną
pojedynczą komórkę, a następnie wybieramy polecenie Poprawność danych z
karty Dane (rys. nr 18).
Rys. nr 18 – polecenie Poprawność danych
Otworzy nam się okno Sprawdzania poprawności danych, gdzie w karcie Ustawienia, w polu Dozwolone (Kryteria poprawności) wybieramy z listy rozwijanej opcję Lista, a następnie w polu Źródło dodajemy przykładowe elementy oddzielone odpowiednim znakiem (średnikiem) jak widać na rys. nr 19.
Rys. nr 19 – okno Sprawdzania poprawności danych
Otrzymamy prostą, poprawnie działającą listę przedstawioną na rys. nr 20.
Rys. nr 20 – lista rozwijana stworzona poprzez sprawdzanie poprawności danych
Teraz jeśli użyjemy skrótu klawiszowego Ctrl+L, aby uruchomić nasz kod i spróbujemy w okienku ListSearch rozwinąć tą listę otrzymamy tylko jeden element składający się ze wszystkich elementów naszej listy (rys. nr 21).
Rys. nr 21 – elementy z listy rozpoznane przez dodatek jako jeden element
Podsumowując
kod naszego dodatku nie rozpoznał tej listy, ponieważ jej elementy zostały
rozdzielone średnikami, a nie jak w angielskiej wersji przecinkami. Kod ten ma
zapisane w pamięci, że znakiem rozdzielającym elementy z listy jest przecinek.
Naszym zadaniem jest skorygowanie tego tak, aby kod poprawnie rozpoznawał
elementy listy.
Za pomocą
skrótu klawiszowego Alt+F11 przechodzimy do kodu w edytorze VBA. Musimy znaleźć
w elementach naszego pliku formularz (Forms), żeby wyświetliło się nam
odpowiednie okno, w którym wprowadzimy zmiany (rys. nr 22).
Rys. nr 22 – zmiany w kodzie dodatku (formularz)
W okienku List Search – ExcelCampus.com musimy kliknąć prawym przyciskiem myszy na szare tło, a następnie wybrać z podręcznego menu polecenie View Code (rys. nr 23).
Rys. nr 23 – polecenie View code
Otworzy nam się okno z kodem, który zmodyfikujemy (rys. nr 24).
Rys. nr 24 – okno z kodem
Aby wyszukać interesujący nas fragment możemy użyć skrótu klawiszowego Ctrl+F, otworzy nam się okienko Find, gdzie w polu Find What w znakach cudzysłowu wpisujemy szukany znak (przecinek). Wpisany znak zatwierdzamy przyciskiem Find Next (rys. nr 25).
Rys. nr 25 – szukanie w kodzie znaku przecinka
Wyskoczy nam komunikat, że został znaleziony taki element. Zatwierdzamy ten komunikat przyciskiem OK i zamykamy okienko Find. W oknie z kodem mamy podświetlony szukany element kodu co widać na rys. nr 26.
Rys. nr 26 – podświetlony szukany fragment kodu
Jest to linijka kodu, która wyznacza znak rozdzielający elementy listy. Pamiętamy, że w polskiej wersji oprogramowania podziała elementów odbywa się za pomocą znaku średnika. Udało mi się znaleźć fragment kodu, który należy wstawić w miejsce linijki ze znakiem przecinka. Kopiujemy ten fragment z Notepada ++ za pomocą skrótu klawiszowego Ctrl+C (rys. nr 27).
Rys. nr 27 – fragment kodu, który wkleimy do VBA
Teraz w VBA wstawiamy fragment kodu ze znakiem przecinka w pojedynczy cudzysłów (robimy z niego komentarz), a następnie wklejamy skopiowany wcześniej kod za pomocą skrótu klawiszowego Ctrl+V. Po drobnych estetycznych poprawkach otrzymamy kod przedstawiony na rys. nr 28. Zostawiam dużo komentarzy, żeby potencjalny użytkownik zrozumiał co tutaj zmieniliśmy.
Rys. nr 28 – Zmieniony kod (teraz średnik będzie znakiem rozdzielającym elementy listy)
W miejsce przecinka wpisujemy zmienną, która odczyta z wersji oprogramowania Windows odczyta, jaki jest poprawny znak rozdzielający elementy listy. Musimy pamiętać o zapisaniu zmian w kodzie za pomocą skrótu klawiszowego Ctrl+S i wracamy do Excela. Teraz kiedy za pomocą skrótu klawiszowego Ctrl+L wywołamy nasz dodatek ListSearch, otrzymamy trzy elementy listy (rys. nr 29).
Rys. nr 29 – poprawnie rozpoznane elementy listy
Naprawiliśmy
tą niedogodność, która nie zawsze występuje, ponieważ jeśli lista rozwijana
korzysta ze źródła, którym był zakres komórek, problem ten się nie pojawi.
Najczęściej pojawia się taki problem kiedy sami wpisujemy elementy takich list.
Aby
sprawdzić czy wszystko działa poprawnie, zamykamy wszystkie okna, arkusze i
pliki, a przede wszystkim Excela. Następnie ponownie uruchamiamy nasz plik i
korzystając ze skrótu klawiszowego Ctrl+L uruchamiamy nasz dodatek.
Podsumowując dzięki naszym modyfikacjom kod działa, ponieważ jest podpięty do
pliku.
Korzystając ze skrótu klawiszowego Ctrl+F11,
uruchamiamy ponownie edytor VBA, żeby pokazać, że mamy uruchomiony tylko nasz
plik, nie został uruchomiony plik kodu z rozszerzeniem .xlam, co widać na rys. nr 30
Rys. nr 30 – edytor VBA
Książka Mistrz Excela + promo na 35 urodziny
Chcę Cię poinformować, że w końcu udało mi zebrać środki i dopiąć wszystkich formalności, żeby powstało II wydanie mojej książki Mistrz Excela (zostałem wydawcą) II wydanie jest wzbogacone o rozdział (nr 22) wprowadzający w genialny dodatek (Power Query) do Excela służący do pobierania, łączenia i wstępnej obróbki danych z wielu źródeł.
Książka Mistrz Excela to historia Roberta, który musi poznać dobrze Excela na potrzeby nowej pracy. Książka jest napisana w formie rozmów Roberta z trenerem, dzięki temu jest przystępniejsza w odbiorze niż standardowe książki techniczne pisane językiem "wykładowym".
Rozmowy zostały podzielone na 22 tematyczne rozdziały, które krok po kroku wprowadzają Cię w tajniki Excela. Robert zaczyna naukę od poznania ciekawych aspektów sortowania i filtrowania danych w Excelu, przechodzi przez formatowanie warunkowe, tabele przestawne, funkcje wyszukujące i wiele innych tematów, by na koniec poznać wstępne informacje o VBA i Power Query. A wszystko to na praktycznych przykładach i z dużą ilością zdjęć.
Żebyś mógł śledzić postępy Roberta, do książki dołączone są pliki Excela, na których pracuje Robert.
Na powyższej stronie znajdziesz dokładniejszy opis książki, opinie osób, które kupiły I wydanie oraz podgląd pierwszego rozdziału książki, żeby upewnić się, czy forma rozmów przy nauce Excela jest dla Ciebie. Jeśli książka Ci się spodoba poinformuj o niej swoich znajomych.
W ramach promocji na moje 35 urodziny możesz też mieć każdy z moich kursów wideo na Udemy za zaledwie 35 zł. Linki do kursów zamieszczam poniżej. W każdym kursie są udostępnione filmy do podglądu, byś mógł się przekonać czy dany kurs jest dla Ciebie.
W dzisiejszym poście zajmiemy się błędem, który pojawia się przy pobieraniu danych, kiedy wcześniej nałoży się filtr. Załóżmy, że mamy w przykładowych danych zakres, który nie jest tabelą. Zaznaczamy ten zakres i będziemy chcieli go nazwać — po prostu NazwanyZakres (w miejscu oznaczonym strzałką na rys. nr 1).
rys. nr 1 — nazywanie zaznaczonego zakresu
Nazwanie
zakresu pozwala nam wrócić do niego z każdego miejsca w arkuszu (z każdej
komórki) rozwijając okno, w którym nazywaliśmy ten zakres (rys. nr 2).
rys. nr 2 — powrót do nazwanego zakresu z każdego miejsca w arkuszu
Kiedy mamy
nazwany zakres możemy za pomocą polecenia Z tabeli/zakresu z karty Dane
pobrać go do Power Query (rys. nr 3).
rys. nr 3 — pobieranie danych do Power Query za pomocą polecenia Z tabeli/zakresu
W takim
przypadku Power Query nie ma żadnych problemów, pobiera dane prawidłowo.
Otworzy nam się Edytor zapytań z wczytanym zaznaczonym zakresem (rys. nr 4).
rys. nr 4 — edytor zapytań z wczytanym zakresem z Excela
Problem
pojawia się jeśli na ten nazwany zakres w Excelu nałożymy filtr, a następnie za
pomocą polecenia Z tabeli/zakresu z karty Dane wczytamy ten zakres do Power
Query. Otworzy nam się edytor zapytań Power Query, ale z błędem (rys. nr 5).
rys. nr 5 — edytor zapytań z wczytanym zaznaczonym zakresem z błędem
Błąd wynika
z tego, że Power Query nie odczytuje zakresu danych tylko próbuje odczytać
filtr, który jest nałożony na ten zakres (rys. nr 6).
rys. nr 6 — próba odczytania danych nie z zaznaczonego zakresu a z nałożonego filtru
Możemy
przyjrzeć się dokładniej funkcji Excel.CurrentWorkbook, gdzie widzimy, że przy
nazwie filtru jest błąd, ponieważ Power Query próbuje pobrać tabelę, której
nazwa nie istnieje (rys. nr 7).
rys. nr 7 — Próba pobrania danych z tabeli, której nazwa nie istnieje
Jako tester
lubię sobie czasem poeksperymentować, poszukać sposobu na obejście tego błędu.
W innym pliku rozwijamy polecenie Pobierz dane (punkt 2 na rys. nr 8) z
karty Dane (punkt 1), następnie rozwijamy polecenie Z pliku
(punkt 3) i wybieramy Ze skoroszytu (punkt 4).
rys. nr 8 — ścieżka dostępu do polecenia Ze skoroszytu
Otworzy nam
się okno Importowanie danych, gdzie wybieramy nasz plik klikając na niego dwa
razy (rys. nr 9).
rys. nr 9 — okno Importowania danych
Otworzy nam
się okno Nawigator, gdzie możemy podejrzeć zawartość skoroszytu, czyli jego
poszczególne elementy (rys. nr 10).
rys. nr 10 — okno Nawigator, gdzie możemy podejrzeć zawartość skoroszytu
Jeśli zaznaczymy sobie cały plik Excela i wciśniemy przycisk Edytuj, to zobaczymy wszystkie elementy i zakresy z tego pliku. Otworzy nam się edytor zapytań Power Query z listą tych wszystkich elementów. Tutaj Power Query użyje innej funkcji Excel.Workbook (rys. nr 11).
rys. nr 11 — Edytor zapytań z listą wszystkich elementów znajdujących się w skoroszycie
W naszych
danych nie interesują nas arkusze, czyli odfiltrujemy kolumnę Kind. W tym celu
klikamy na trójkąt przy nazwie kolumny Kind i odznaczamy checkbox przy nazwie
Sheet (czyli arkusz). Filtr zatwierdzamy przyciskiem OK (rys. nr 12).
rys. nr 12 — nakładanie filtru (odfiltrowanie arkuszy)
Otrzymamy
tabelę tylko ze zdefiniowanymi nazwami przedstawioną na rys. nr 13.
rys. nr 13 — tabela ze zdefiniowanymi nazwami
Interesuje
nas jeszcze kolumna Hidden, która pokazuje które elementy są ukryte. Filtr
nałożony na dane jest ukryty, natomiast nazwany zakres jest widoczny. Przy
pobieraniu danych Power Query sięga niestety po tą tabelę, która jest ukryta
(rys. nr 14).
rys. nr 14 — elementy ukryte — Hidden
W takim
rozwiązaniu Power Query nie ma problemu i poprawnie odczytuje dane.
Jak możemy
obejść ten błąd przy standardowym pobieraniu danych do Power Query?
Wyłączamy
filtr w naszym nazwanym zakresie. Jest on niewidoczny ale dalej się tam
znajduje. Stworzyliśmy tabelę pomocniczą z zakresem do filtrowania i właśnie na
nią nakładamy ten filtr za pomocą skrótu klawiszowego Ctrl+Shift+L (rys. nr 15).
rys. nr 15 — nakładanie filtru za pomocą skrótu klawiszowego Ctrl+Shift+L
Teraz jeśli
pobierzemy dane z tego zakresu za pomocą polecenia Z tabeli/zakresu z karty
Dane, otworzy nam się edytor zapytań Power Query z wczytanym zakresem (rys. nr 16).
rys. nr 16 — Edytor zapytań z wczytanym zakresem
W kroku
Źródło w Zastosowanych krokach możemy podejrzeć sobie funkcję użytą przez Power
Query. Możemy zauważyć, że dalej pojawia nam się błąd mimo, że dane zostały
wczytane (rys. nr 17).
rys. nr 17 — funkcja Excel.CorrentWorkbook
Sposobem na
zlikwidowanie błędu jest zmiana właściwości zakresu w VBA (rys. nr 18).
rys. nr 18 — zmiana właściwości zakresu w VBA
Wynika z
tego, że funkcja Power Query źle odwołuje się do zakresu i stąd wynika problem
(zły zapis zakresu – pojedynczy cudzysłów).
Podsumowując
celem tego filmu było pokazanie, że Power Query nie zawsze chce zwracać dane,
których potrzebujesz. Przede wszystkim w sytuacji kiedy nakładasz filtr na
nazwany zakres.
Książka Mistrz Excela + promo na 35 urodziny
Chcę Cię poinformować, że w końcu udało mi zebrać środki i dopiąć wszystkich formalności, żeby powstało II wydanie mojej książki Mistrz Excela (zostałem wydawcą) II wydanie jest wzbogacone o rozdział (nr 22) wprowadzający w genialny dodatek (Power Query) do Excela służący do pobierania, łączenia i wstępnej obróbki danych z wielu źródeł.
Książka Mistrz Excela to historia Roberta, który musi poznać dobrze Excela na potrzeby nowej pracy. Książka jest napisana w formie rozmów Roberta z trenerem, dzięki temu jest przystępniejsza w odbiorze niż standardowe książki techniczne pisane językiem "wykładowym".
Rozmowy zostały podzielone na 22 tematyczne rozdziały, które krok po kroku wprowadzają Cię w tajniki Excela. Robert zaczyna naukę od poznania ciekawych aspektów sortowania i filtrowania danych w Excelu, przechodzi przez formatowanie warunkowe, tabele przestawne, funkcje wyszukujące i wiele innych tematów, by na koniec poznać wstępne informacje o VBA i Power Query. A wszystko to na praktycznych przykładach i z dużą ilością zdjęć.
Żebyś mógł śledzić postępy Roberta, do książki dołączone są pliki Excela, na których pracuje Robert.
Na powyższej stronie znajdziesz dokładniejszy opis książki, opinie osób, które kupiły I wydanie oraz podgląd pierwszego rozdziału książki, żeby upewnić się, czy forma rozmów przy nauce Excela jest dla Ciebie. Jeśli książka Ci się spodoba poinformuj o niej swoich znajomych.
W ramach promocji na moje 35 urodziny możesz też mieć każdy z moich kursów wideo na Udemy za zaledwie 35 zł. Linki do kursów zamieszczam poniżej. W każdym kursie są udostępnione filmy do podglądu, byś mógł się przekonać czy dany kurs jest dla Ciebie.
W dzisiejszym poście zajmiemy się tematem powtarzania kodów
kreskowych bądź innych wartości w kolejnych wierszach. Omówimy rozwiązanie tego
zagadnienia w Power Query na podstawie przykładowych danych źródłowych z
rysunku nr 1.
rys. nr 1 — Przykładowe dane
Podczas jednej z moich konsultacji online pojawił się problem
– potrzeba, aby powtarzać kodu kreskowe kilka razy pod rząd w kolejnych
wierszach. Można to zrobić za pomocą VBA, ale tutaj omówimy rozwiązanie w Power
Query. W naszych danych źródłowych kody kreskowe zapisane są w postaci ciągów
cyfr, w drugiej kolumnie mamy podaną ilość powtórzeń danego kodu.
Aby wczytać dane do Power Query wybieramy polecenie Z tabeli
z karty Dane (rys. nr 2).
rys. nr 2 — Z tabeli
Otworzy nam się Edytor zapytań z wczytaną tabelą tKody (rys.
nr 3). W Ustawieniach zapytania usuwamy krok Zmieniono typ z Zastosowanych
kroków, ponieważ jest zbędny. Musimy zmienić typ danych ręcznie.
rys. nr 3 — Edytor zapytań
Nasz kod kreskowy jest zmieniony na liczby, a my chcemy by
był traktowany jako tekst, ponieważ funkcja z jakiej będziemy korzystać w Power
Query radzi sobie z tekstem, natomiast z liczbami nie (trzeba by dokonywać
konwersji). Klikamy na ikonkę ABC123 z boku nazwy tytułu kolumny Kod kreskowy i
z podręcznego menu wybieramy polecenie Tekst (rys. nr 4).
rys. nr 4 — Polecenie Tekst
W kolejnym kroku musimy dodać kolumnę za pomocą polecenie
Kolumna niestandardowa (punkt nr 2 na rysunku nr 5) z karty Dodaj kolumnę.
rys. nr 5 — Kolumna niestandardowa
Otworzy nam się okno Kolumny niestandardowej, gdzie będziemy
korzystać z funkcji. Zmieniamy nazwę kolumny na Powt, a następnie w polu
Formuła kolumny niestandardowej wpisujemy formułę funkcji dla tej kolumny. Do
zapisania formuły użyjemy kolumn z pola Dostępne kolumny (oznaczone strzałkami
na rysunku nr 6). Zapis formuły będzie wyglądał następująco:
Tak wpisane parametry kolumny niestandardowej zatwierdzamy
przyciskiem OK.
rys. nr 6 — Tworzenie kolumny niestandardowej
Otrzymamy dane przedstawione na rysunku nr 7.
rys. nr 7 — dane z nową kolumną
Dane te mają widoczne od razu niedociągnięcie, mianowicie
poszczególne kody nie są od siebie niczym oddzielone. W naszym przykładzie kody
kreskowe mają po 5 znaków, ale nie każde kody są jednakowe. Musimy wprowadzić
modyfikacje w naszą kolumnę niestandardową. Klikamy na ikonkę koła zębatego
obok nazwy kroku Dodano kolumnę niestandardową w Zastosowanych krokach. Otworzy
nam się po raz kolejny okno Kolumny niestandardowej (rys. nr 8), gdzie musimy
zmienić naszą formułę funkcji i wstawić rozdzielenie kodów za pomocą jakiegoś
symbolu (w naszym przykładzie @, bo lubię małpki ?). Zapis formuły będzie wyglądał następująco:
Otrzymamy dane przedstawione na rysunku nr 9, gdzie kody
zostały rozdzielone symbolem @.
rys. nr 9 — Dane z kodami rozdzielonymi znakiem @
Symbole te posłużą nam do rozdzielenia kolumn. Rozwijamy
polecenia Podziel kolumny (punkt nr 2 na rysunku nr 10) z karty Narzędzia
główne i wybieramy polecenie Według ogranicznika (punkt nr 3 na rysunku nr 10).
rys. nr 10 — Podziel kolumny
Otworzy nam się okno Dzielenia kolumny według ogranicznika (rys. nr 11), gdzie Power Query rozpozna nasz ogranicznik. Musimy rozwinąć sobie Opcje zaawansowane, ponieważ chcemy zrobić podział na Wiersze (zaznaczone zielonym prostokątem na rysunku nr 11) , a nie kolumny, czyli podział ma być w dół danych (zaznaczone zieloną strzałką na rysunku nr 11) a nie w bok.
rys. nr 11 _ dzielenie kolumny według ogranicznika
Wprowadzone parametry podziały kolumny zatwierdzamy
przyciskiem OK. i otrzymamy dane przedstawione na rysunku nr 12.
rys. nr 12 — Wydzielone kolumny
Usuwamy krok Zmieniono typ1 z Zastosowanych kroków i
otrzymamy dane przedstawione na rysunku nr 13.
rys. nr 13 — Dane
W danych tych odfiltrujemy puste komórki, czyli klikamy
ikonkę trójkąta przy nazwie kolumny Powt i w podręcznym menu odznaczamy
checkbox przy nazwie Puste (rys. nr 14).
rys. nr 14 — Odfiltrowanie pustych
Nasz filtr zatwierdzamy przyciskiem OK i otrzymamy dane
przedstawione na rysunku nr 15, które możemy wczytać do Excela.
rys. nr 15 — Odfiltrowane dane
Tak naprawdę nie potrzebujemy aż trzech kolumn, ponieważ mamy
te same dane w kolumnie pierwszej i trzeciej (Kod kreskowy i Powt). Wystarczy
nam jedna kolumna z powtórzonymi kodami. Zaznaczamy kolumnę Powt i klikamy na jej
tytuł prawym przyciskiem myszy, z podręcznego menu wybieramy polecenie Usuń
inne kolumny (rys. nr 16).
rys. nr 16 — Usuń inne kolumny
Tak przygotowane dane możemy załadować do Excela. Wybieramy
polecenie Zamknij i załaduj do z karty Narzędzia główne (rys. nr 17).
rys. nr 17 — zamknij i załaduj do
Otworzy nam się okno Ładowania do, gdzie wybieramy sposób
wyświetlania danych jako Tabela, a następnie określamy miejsce wstawienia
danych jako Istniejący arkusz i wskazujemy konkretną komórkę w tym arkuszu
(rys. nr 18). Tak ustawione parametry wstawienia danych zatwierdzamy
przyciskiem Załaduj.
rys. nr 18 — Okno ładowania do
Otrzymamy dane załadowane do Excela przedstawione na rysunku
nr 19.
rys. nr 19 — Dane w Excelu
Mamy obliczoną dodatkowo ilość wszystkich powtórzeń – 88
sztuk. Taką samą ilość pokazuje nam zapytanie tKody w Zapytaniach dotyczących
arkusza (oznaczone zielonymi strzałkami na rysunku nr 20).
rys. 20 — Ilość powtórzeń
Możemy sprawdzić działanie zapytania zmieniając dane w tabeli
z danymi źródłowymi. Wystarczy odświeżyć dane z zapytania aby otrzymać aktualne
wyniki.
Książka Mistrz Excela + promo na 35 urodziny
Chcę Cię poinformować, że w końcu udało mi zebrać środki i dopiąć wszystkich formalności, żeby powstało II wydanie mojej książki Mistrz Excela (zostałem wydawcą) II wydanie jest wzbogacone o rozdział (nr 22) wprowadzający w genialny dodatek (Power Query) do Excela służący do pobierania, łączenia i wstępnej obróbki danych z wielu źródeł.
Książka Mistrz Excela to historia Roberta, który musi poznać dobrze Excela na potrzeby nowej pracy. Książka jest napisana w formie rozmów Roberta z trenerem, dzięki temu jest przystępniejsza w odbiorze niż standardowe książki techniczne pisane językiem "wykładowym".
Rozmowy zostały podzielone na 22 tematyczne rozdziały, które krok po kroku wprowadzają Cię w tajniki Excela. Robert zaczyna naukę od poznania ciekawych aspektów sortowania i filtrowania danych w Excelu, przechodzi przez formatowanie warunkowe, tabele przestawne, funkcje wyszukujące i wiele innych tematów, by na koniec poznać wstępne informacje o VBA i Power Query. A wszystko to na praktycznych przykładach i z dużą ilością zdjęć.
Żebyś mógł śledzić postępy Roberta, do książki dołączone są pliki Excela, na których pracuje Robert.
Na powyższej stronie znajdziesz dokładniejszy opis książki, opinie osób, które kupiły I wydanie oraz podgląd pierwszego rozdziału książki, żeby upewnić się, czy forma rozmów przy nauce Excela jest dla Ciebie. Jeśli książka Ci się spodoba poinformuj o niej swoich znajomych.
W ramach promocji na moje 35 urodziny możesz też mieć każdy z moich kursów wideo na Udemy za zaledwie 35 zł. Linki do kursów zamieszczam poniżej. W każdym kursie są udostępnione filmy do podglądu, byś mógł się przekonać czy dany kurs jest dla Ciebie.
W
dzisiejszym poście omówimy temat rozrastającej się listy rozwijanej z
unikatowymi wartościami w
Power Query. Rozwiązanie tego zadania w Excelu przedstawione zostało w poradzie
nr 322 https://exceliadam.pl/?s=porada+322
. W danych źródłowych mamy już
listę rozwijaną a naszym zadaniem jest dodanie do niej kolejnych elementów,
chcemy dopisać do listy nowe osoby. Dane, na których omówimy to zagadnienie
zostały przedstawione na rysunku nr 1.
rys. nr 1 — Przykładowe dane
Rozwiążemy takie zadanie nie korzystając z formuł, ale przy użyciu Power Query – dodatku do Excela. Pierwszym krokiem jest zaczytanie danych do Power Query. Wybieramy polecenie Z tabeli z karty Dane (rys. nr 2).
rys. nr 2 — Z tabeli
Otworzy
nam się edytor zapytań z wczytaną tabelą tSprzedawcy.
rys. nr 3 — Edytor zapytań
Usuwamy krok Zmieniono typ z zastosowanych kroków, bo jest on zbędny.
Następnie odfiltrowujemy kolumnę Sprzedawca po wartościach null, czyli klikamy
na ikonkę trójkąta w nazwie kolumny Sprzedawca i w podręcznym menu ozdnaczamy
checkbox przy wartości null (rys. nr 4). Nasz filtr zatwierdzamy przyciskiem
OK.
rys. nr 4 — Odfiltruj dane po wartości null
W kolejnym kroku usuwamy inne kolumny, czyli klikamy prawym przyciskiem
myszy na tytuł kolumny Sprzedawca i z podręcznego menu wybieramy polecenie Usuń
inne kolumny (rys. nr 5).
rys. nr 5 — Usuń inne kolumny
Otrzymamy dane przedstawione na rysunku nr 6.
rys. nr 6
Interesuje nas tylko kolumna Sprzedawca. Chcemy mieć unikatową listę
sprzedawców, więc rozwijamy polecenie Usuń wiersze (punkt nr 2 na rysunku nr 7)
z karty Narzędzia główne, a następnie wybieramy polecenie Usuń duplikaty (punkt
nr 3 na rysunku nr 7).
rys. nr 7 — Usuń duplikaty
Tak przygotowaną listę danych możemy załadować do Excela. W tym celu
rozwijamy polecenie Zamknij i załaduj (punkt nr 2 na rysunku nr 8) z karty
Narzędzia główne, a następnie wybieramy polecenie Zamknij i załaduj do (punkt
nr 3 na rysunku nr 8).
rys. nr 8 — Zamknij i załaduj do
Otworzy nam się okno Ładowania do, gdzie wybieramy sposób wyświetlania
danych jako Tabela, a nastepnie określamy lokalizaję wstawienia danych –
Istaniejący arkusz i wskazujemy konkretną komórkę. Tak ustawione parametry
zatwierdzamy przyciskiem Załaduj (rys. nr 9).
rys. nr 9 — Okno Ładowania do
Otrzymamy dane wczytane do Excela przedstawione na rysunku nr 10.
rys. nr 10 — Dane wczytane do Excela
Zaznaczamy zakres danych w tabeli z zapytania z Power Query a następnie w
polu obok paska formuły zmieniamy nazwę tego zakresu na Sprzedawcy (pole
oznaczone zieloną strzałką na rysunku nr 11).
rys. nr 11 — Zmiana nazwy zakresu
W kolejnym etapie zaznaczamy zakres w tabeli z danymi źródłowymi i
wybieramy polecenie Poprawność danych (punkr nr 2 na rysunku nr 12) z karty Dane.
rys. nr 12 — Poprawność danych
Otworzy nam się okno Sprawdzania poprawności danych, gdzie w karcie
Ustawienia (rys. nr 13) ustalamy Kryteria poprawności danych i podajemy źródło
danych (klawisz F3) – wcześniej nazwany zakres Sprzedawcy z tabeli zaczytanej z
Power Query. W karcie Komunikat wejściowy odznaczamy checkbox przy opcji
Pokazuj komunikat wejściowy przy wyborze komórki. W karcie Alert o błędzie
odznaczamy checkbox przy opcji Pokazuj alerty po wprowadzeniu nieprawidłowych
danych. Nie chcemy informacji o błędnie wpisanych danych ponieważ chcemy
dopisywać nowe osoby do listy sprzedawców. Tak ustawione parametry zatwierdzamy
przyciskiem OK.
rys. nr 13 — Użycie klawisza F3
Teraz możemy sobie dopisać sprzedawcę w
tabeli z danymi źródłowymi, ale nie ma jej na liście rozwijanej w tej tabeli co
przedstawia rysunek nr 14.
rys. nr 14 — Lista rozwijana
Wynika to z podstawowej wady Power Query –
nie odświeża się automatycznie. Musimy kliknąc prawym przyciskiem myszy na
dowolną komórkę w zakresie Sprzedawcy i z podręcznego menu wybrać polecenie
Odśwież (rys. nr 15).
rys. nr 15 — Odśwież
Po odświeżeniu danych z Power Query dodany sprzedawca będzie widoczny na liście
rozwijanej (rys. nr 16).
rys. nr 16
Istnieje możliwość ustawienia automatycznego odświeżania
danych za pomocą kodu VBA. Korzystając ze skrótu klawiszowego Alt+F11 możemy
przejść do okna Edytora VBA. Jest tam wcześniej przygotowany kod (rys. nr 17).
rys. nr 17 — Alt+F4 przejście do VBA
W arkuszu (Arkusz4 (PQ31)- punkt nr 1 na rysunku nr 18), w
którym mamy te listy , musimy dopisać kod VBA. Kod ten będzie działał tylko w
momencie, kiedy w naszym arkuszu (Worksheet – punkt nr 2 na rysunku nr 18))
dokona się zmiana (Change – Punkt nr 3 na rysunku nr 18). W sytuacji zmiany w
kolumnie A, chcemy aby odpalił się kod VBA i sprawdził czy zmieniane komórki
miały część wspólną z kolumną A. Konkretnie sprawdzamy czy zakres który był
zmieniany ma część wspólną z kolumną która nas interesuje. Jeśli zmiana
nastąpiła w kolumnie A, to nastąpi automatyczne odświeżenie danych w tabeli z
Power Query.
rys. nr 18 — Edytor VBA
Zapisujemy nasz kod za pomocą skrótu klawiszowego Ctrl+S.
Przechodzimy do Excela i możemy sprawdzić działanie kodu VBA. Dopisujemy
kolejnego sprzedawcę (Agnieszka) do danych źródłowych i dane automatycznie się
odświeżą i nasz nowy sprzedawca zostanie dodany do listy rozwijanej, co widać
na rysunku nr 19.
rys. nr 19 — Dane z kodem z VBA
Podsumowując rozrastającą się listę rozwijaną z unikatowymi
wartościami robi się prościej za pomocą Power Query, ale niestety nie jest
automatyczna i musimy pamiętać o odświeżaniu danych. Jedynym sposobem na
zautomatyzowanie jest dodanie kodu VBA, ale to już temat dla bardziej
zaawansowanych użytkowników Excela.
Możemy również zarejestrować makro odświeżania danych w
karcie Deweloper, wybierając polecenie Rejestruj makro (punkt nr 2 na rysunku
nr 20).
rys. nr 20 — Zarejestruj makro
Otworzy się okno Rejestrowania makra, gdzie wpisujemy nazwę
makra i zatwierdzamy przyciskiem OK (rys. nr 21).
rys. nr 21 — Okno rejestrowania makra
Następnie klikamy prawym przyciskiem myszy na dowolną komórkę
z zakresu zapytania z Power Query i z podręcznego menu wybieramy polecenie
Odśwież (rys. nr 22).
rys. nr 22 — Odśwież
Następnie klikamy polecenie Zatrzymaj rejestrowanie (punkt nr
2 na rysunku nr 23) z karty Deweloper.
rys. nr 23 — zatrzymaj rejestrowanie makra
Teraz w VBA mamy dostępny nowy Moduł, odpowiadający
odświeżeniu danych (zaznaczony zieloną strzałką na rysunku nr 24).
rys. nr 24 — Nowy moduł
Dzięki stworzeniu takiego makra mamy automatycznie
rozrastającą się listę rozwijaną.
Książka Mistrz Excela + promo na 35 urodziny
Chcę Cię poinformować, że w końcu udało mi zebrać środki i dopiąć wszystkich formalności, żeby powstało II wydanie mojej książki Mistrz Excela (zostałem wydawcą) II wydanie jest wzbogacone o rozdział (nr 22) wprowadzający w genialny dodatek (Power Query) do Excela służący do pobierania, łączenia i wstępnej obróbki danych z wielu źródeł.
Książka Mistrz Excela to historia Roberta, który musi poznać dobrze Excela na potrzeby nowej pracy. Książka jest napisana w formie rozmów Roberta z trenerem, dzięki temu jest przystępniejsza w odbiorze niż standardowe książki techniczne pisane językiem "wykładowym".
Rozmowy zostały podzielone na 22 tematyczne rozdziały, które krok po kroku wprowadzają Cię w tajniki Excela. Robert zaczyna naukę od poznania ciekawych aspektów sortowania i filtrowania danych w Excelu, przechodzi przez formatowanie warunkowe, tabele przestawne, funkcje wyszukujące i wiele innych tematów, by na koniec poznać wstępne informacje o VBA i Power Query. A wszystko to na praktycznych przykładach i z dużą ilością zdjęć.
Żebyś mógł śledzić postępy Roberta, do książki dołączone są pliki Excela, na których pracuje Robert.
Na powyższej stronie znajdziesz dokładniejszy opis książki, opinie osób, które kupiły I wydanie oraz podgląd pierwszego rozdziału książki, żeby upewnić się, czy forma rozmów przy nauce Excela jest dla Ciebie. Jeśli książka Ci się spodoba poinformuj o niej swoich znajomych.
W ramach promocji na moje 35 urodziny możesz też mieć każdy z moich kursów wideo na Udemy za zaledwie 35 zł. Linki do kursów zamieszczam poniżej. W każdym kursie są udostępnione filmy do podglądu, byś mógł się przekonać czy dany kurs jest dla Ciebie.
W dzisiejszym poście omówimy funkcje WYSZUKAJ.PIONOWO zwracającą
wszystkie wartości spełniające dane warunki oraz POŁĄCZ.TEKSTY. Zagadnienie to
omówimy na podstawie przykładowych danych z rysunku nr 1.
rys. nr 1 — Przykładowe dane
W filmie Excel VBA odcinek 12 ( https://www.youtube.com/watch?v=nUhq-noDd2k )
pokazałem jak samodzielnie napisać funkcje, która znajdzie wszystkich
sprzedawców z np. województwa świętokrzyskiego (rys. nr 2).
rys. nr 2 — Szukanie sprzedawców według województwa
Od kiedy udało mi się zainstalować licencję 365 Microsoft MVP
mam dostęp do funkcji POŁĄCZ.TEKSTY, dzięki której możemy znacznie szybciej przypisać
sprzedawców do konkretnych województw. Aby dobrze zrozumieć jak działa ta
funkcja omówimy sobie jej poszczególne argumenty. Zapis funkcji będzie wyglądał
następująco:
=POŁĄCZ.TEKSTY(", ";FAŁSZ;D2:D8)
Pierwszym argumentem funkcji jest Ogranicznik, w naszym przypadku będzie to przecinek i spacja (", "), czyli sposób rozdzielenia wyników. Kolejnym argumentem jest Ignoruj_puste, czyli PRAWDA (ignoruj puste komórki) lub FAŁSZ (uwzględnij puste komórki). W naszym przykładzie wybierzemy FAŁSZ (rys. nr 3).
rys. nr 3 — Drugi argument funkcji
Następnym argumentem jest Tekst_1, czyli tekst lub zakresy tekstu, które chcemy połączyć. W naszym przykładzie zaznaczymy sobie nazwy województw i dwie komórki poniżej, żeby zobaczyć zachowanie funkcji dla pustych komórek (zakres D2:D8). Wybraliśmy jako drugi argument FAŁSZ, dlatego na końcu mamy uwzględnione puste komórki (rys. nr 4).
rys. nr 4 — Uwzględnione puste komórki w wyniku funkcji POŁĄCZ.TEKSTY
W większości sytuacji chcemy ignorować puste komórki
(wpisujemy PRAWDA lub 1), dlatego nasza formuła powinna wyglądać następująco:
=POŁĄCZ.TEKSTY(", ";PRAWDA;D2:D8)
Kiedy zatwierdzimy tak wpisaną formułę nie mamy już
dodatkowych przecinków i pustych miejsc w wynikach.
Teraz kiedy wiemy jak działa funkcja POŁĄCZ.TEKSTY, musimy
podać funkcji właściwe zakresy dane. Będziemy do tego potrzebować formuły tablicowej
– funkcji JEŻELI, która najpierw sprawdzi nam kryteria. Naszym kryterium jest
województwo, czyli zaznaczamy zakres $A$2:$A$18 i porównujemy ten zakres do
województwa które nas interesuje w tym momencie, czyli do komórki D2. Jeżeli
danym wierszu jest wartość która nas interesuje, to chcemy otrzymać sprzedawcę,
czyli jako drugi argument funkcji JEŻELI zaznaczamy zakres ze sprzedawcami
($B$$:$B$18). Natomiast w sytuacji kiedy nasz warunek nie jest spełniony chcemy
otrzymać pusty ciąg tekstowy, czyli jako trzeci argument wpisujemy nic ("").
Zapis funkcji będzie wyglądał następująco:
Jeśli podejrzymy sobie wynik funkcji JEŻELI za pomocą
klawisza F9 w trybie edycji komórki zobaczymy następujące wyniki (rys. nr 5)
rys. nr 5 — Podgląd wyników w trybie edycji komórki
Otrzymamy kilku sprzedawców dla województwa świętokrzyskiego
i puste ciągi tekstowe dla pozostałych województw. Pamiętamy, że cyfra 1 w
funkcji POŁĄCZ.TEKSTY ignoruje te puste miejsca, więc jako wynik otrzymamy
tylko imiona sprzedawców. Zatwierdzamy formułę i otrzymujemy błąd- za dużo
sprzedawców (rys. nr 6).
rys. nr 6 — Błędny wynik funkcji
Błąd ten wynika z tego iż funkcja JEŻELI jest formułą
tablicowa i żeby zadziałała poprawnie należy ją zatwierdzić używając skrótu
klawiszowego Ctrl+Shift+Enter (rys. nr 7).
rys. nr 7 — Poprawny wynik funkcji tablicowej
Przeciągamy formułę w dół i otrzymujemy wyniki dla wszystkich województw (rys. nr 8 ).
rys. nr 8 — Wynik działania funkcji dla całej tabeli
Podsumowując skorzystanie z funkcji JEŻELI i POŁĄCZ.TEKSTY jest
dużo prostsze niż pisanie kodów w VBA. Musimy jednak pamiętać o prawidłowych
zakresach danych i o zatwierdzaniu formuł tablicowych skrótem klawiszowym Ctrl+Shift+Enter.
Książka Mistrz Excela + promo na 35 urodziny
Chcę Cię poinformować, że w końcu udało mi zebrać środki i dopiąć wszystkich formalności, żeby powstało II wydanie mojej książki Mistrz Excela (zostałem wydawcą) II wydanie jest wzbogacone o rozdział (nr 22) wprowadzający w genialny dodatek (Power Query) do Excela służący do pobierania, łączenia i wstępnej obróbki danych z wielu źródeł.
Książka Mistrz Excela to historia Roberta, który musi poznać dobrze Excela na potrzeby nowej pracy. Książka jest napisana w formie rozmów Roberta z trenerem, dzięki temu jest przystępniejsza w odbiorze niż standardowe książki techniczne pisane językiem "wykładowym".
Rozmowy zostały podzielone na 22 tematyczne rozdziały, które krok po kroku wprowadzają Cię w tajniki Excela. Robert zaczyna naukę od poznania ciekawych aspektów sortowania i filtrowania danych w Excelu, przechodzi przez formatowanie warunkowe, tabele przestawne, funkcje wyszukujące i wiele innych tematów, by na koniec poznać wstępne informacje o VBA i Power Query. A wszystko to na praktycznych przykładach i z dużą ilością zdjęć.
Żebyś mógł śledzić postępy Roberta, do książki dołączone są pliki Excela, na których pracuje Robert.
Na powyższej stronie znajdziesz dokładniejszy opis książki, opinie osób, które kupiły I wydanie oraz podgląd pierwszego rozdziału książki, żeby upewnić się, czy forma rozmów przy nauce Excela jest dla Ciebie. Jeśli książka Ci się spodoba poinformuj o niej swoich znajomych.
W ramach promocji na moje 35 urodziny możesz też mieć każdy z moich kursów wideo na Udemy za zaledwie 35 zł. Linki do kursów zamieszczam poniżej. W każdym kursie są udostępnione filmy do podglądu, byś mógł się przekonać czy dany kurs jest dla Ciebie.