Pracujesz w biurze i co dzień, co tydzień lub co miesiąc powtarzasz te same czynności? Kopiuj-wklej dane. Załóż, zdejmij filtr. Przeciągnij dobrze znaną formułę po raz setny lub nawet tysięczny. Znasz to z własnych doświadczeń?
Czasy, gdy wszystko trzeba było robić ręcznie już dawno minęły. Dzisiaj czas jest na wagę złota. Dlatego każdy szuka sposobów, aby swoją codzienną pracę wykonywać sprawniej, szybciej i efektywniej. Również tą pracę w Excelu.
Narzędzie MS Excel oferuje mnóstwo funkcjonalności i opcji do automatyzacji Twojej pracy. Wystarczy, że wyciągniesz po nie rękę i zaoszczędzisz trochę swojego cennego czasu. Tym razem pokażę Ci kilka sposobów na taką automatyzację przy pomocy VBA.
1. Tworzenie własnych funkcji
Korzystasz często z kombinacji tych samych funkcji? Napisanie prostej funkcji w VBA to chyba jeden z najprostszych sposobów na ułatwienie swojej pracy w Excelu. Spójrz na przykład jednej z najczęściej używanej kombinacji funkcji INDEKS i PODAJ.POZYCJĘ. Już w najprostszym zastosowaniu formuła może przysparzać o ciarki. Jest długa i skomplikowana.
Sprawdź najbardziej popularne funkcje w Excel, które musisz znać.
Dlatego polecam zamienić ją na własną funkcję. Teraz wygląda to dużo prościej, prawda? ?
Najprostszy kod VBA tej funkcji znajdziejsz poniżej.
Function IdxMatch(tabela As Range, idx_wierszy, idx_kolumn) Dim wartosc, pozycja_w As Integer, pozycja_k As Integer pozycja_w = Application.WorksheetFunction.Match(idx_wierszy, tabela.Columns(1), 0) 'indeks wiersza pozycja_k = Application.WorksheetFunction.Match(idx_kolumn, tabela.Rows(1), 0) 'indeks kolumny wartosc = Application.WorksheetFunction.Index(tabela, pozycja_w, pozycja_k) 'wynik funkcji indeks IdxMatch = wartosc End Function
Pamiętaj, że to tylko jeden z wielu przykładów na ułatwienie sobie życia za pomocą własnej funkcji w VBA. Masz jakieś swoje?
2. Rejestrowanie powtarzalnych procesów
Czas na kolejny przykład, który aż się prosi o automatyzację. Wyobraź sobie, że raz na miesiąc lub kwartał dostajesz zestawienie danych. Jakiś standardowy zrzut z systemu (sprzedażowego, raportowego, …). Twoim pierwszym zadaniem jest założenie filtra, lub kilku filtrów na te dane i wybranie błędnych rekordów. Trafiają one do innej osoby do wyjaśnienia.
Niby nic specjalnego. Zadanie jak każde. Jednak jeśli takich zadań nazbiera się 10 lub 20, to stracisz kilka godzin na bezsensowne czynności, które można łatwo zautomatyzować.
– Ale ja nigdy nie napisałem żadnego makra w VBA! Jak ma to zrobić?
Okazuje się, że do automatyzacji takich czynności wcale nie potrzebujesz znajomości języka VBA. Wystarczy, że skorzystasz z rejestratora makr.
Wybierz polecenie Zarejestruj makro i wymyśl nazwę dla swojego makra. Od teraz każda Twoja czynność jest rejestrowana. Po wykonaniu wszystkich kroków wybierz Zatrzymaj rejestrowanie.
Następnym razem jak będziesz musiał powtórzyć te same czynności wystarczy, że uruchomisz swoje makro.
Zaoszczędzony czas możesz przeznaczyć na coś dużo ciekawszego niż przeklejanie danych ?
Dodawanie przycisków i skrótów klawiszowych
Napisałeś(aś) lub zarejestrowałeś(aś) swoje makro. Teraz wystarczy, że przejdziesz na listę makr, odnajdziesz to właściwe i uruchomisz je. Proste, prawda? Ale może być jeszcze prościej ?
Dodaj przycisk i przypisz do niego wybrane makro. Dzięki temu nie będziesz musiał szukać go na liście (jeśli takich makr masz kilka). Nie będziesz musiał(a) nawet pamiętać jak je nazwałeś(aś).
Tworzenie inteligentnych formularzy
Wchodzimy w opcję dla trochę bardziej zaawansowanych. Ale spokojnie, w końcu po to uczyć się Excela, prawda? ?
Rozwiązanie oparte na tworzeniu własnych inteligentnych formularzy jest skierowane głównie do tych, którzy chcą mieć większą kontrolę nad skoroszytem. Dzięki takim formularzom można ograniczyć użytkownikom dostęp do konkretnych komórek minimalizując jednocześnie ryzyko błędu lub niepożądanej zmiany. Zamiast tego, użytkownik pliku wprowadza swoje parametry w formularzu, który jest mu wyświetlany.
Poszczególne kontrolki (przyciski, pola tekstowe, …) trzeba odpowiednio zaprogramować. Jednak jest to na tyle proste, że poradzisz sobie z tym nawet z minimalną znajomością VBA.
Dodawanie treści, które same się odświeżają
Bardzo przydatne w pracy z dużymi plikami są spisy treści. Dzięki nim wiemy jaka jest zawartość każdego arkusza. Jeśli dodatkowo mamy do dyspozycji hiper linki, to z łatwością możemy poruszać się po pliku.
Stworzenie takiego spisu treści jest stosunkowo proste. Trudności zaczynają się, jeśli chcemy, aby taki spis aktualizował się za każdym razem, gdy wyświetlamy ten arkusz.
Wtedy niezbędne jest napisanie procedury, która tworzy taki spis treści. Następnie dodanie prywatnej procedury w tym konkretnym arkuszu, która będzie wywoływać procedurą tworzącą ?
Private Sub Worksheet_Activate() 'Procedura uruchamia procedurę tworzenia spisu treści przy każdorazowym aktywowaniu tego arkusza Call SpisTresci End Sub
Pamiętaj. Jeśli masz dość powtarzalnych czynności w Excelu i chcesz zaoszczędzić trochę czasu, to próbuj automatyzować. Przecież nie chodzi o to, aby się na pracować. Tylko o to, aby zadanie zostało wykonane. Dlatego pracuj mądrze.
Jeśli szukasz więcej przykładów, to zapraszam na kursy online. Szczególnie przydatne będą kurs Excel Średnio Zaawansowany oraz Excel Zaawansowany. To kompleksowe kursy wideo naszpikowane praktycznymi przykładami. Wynieś swoją wiedzę z Excela na zupełnie inny poziom!