automatyzacja Excel z VBA

5 sposobów na automatyzację Excela z VBA

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.

własna funkcja w Excel

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? ?

własna funkcja w VBA

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.

rejestrator makr w Excel

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.

rejestrator makr Excel

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.

rejestrator makr Excel

Następnym razem jak będziesz musiał powtórzyć te same czynności wystarczy, że uruchomisz swoje makro.

uruchom makro Excel

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

przypisz makro do przycisku Excel

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.

tworzenie formularzy w Excel

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.

tworzenie spisu treści w Excel

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!

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *