Blog (96)
Komentarze (734)
Recenzje (5)

Makropolecenia w Excelu

@skandynMakropolecenia w Excelu06.10.2010 18:19

Trochę teorii

Makropolecenie w skrócie nazywane makro ma za zadanie automatyczne wykonanie powtarzających się po sobie określonych czynności. Na przykładzie arkusza kalkulacyjnego Excel możemy zaprogramować dowolną funkcje mniej lub bardziej skomplikowaną (dodawanie, mnożenie, operacje arytmetyczne, itp.), która jest rejestrowana i w tym samym momencie przetwarzana na instrukcje w języku Visual Basic dołączonym do całego pakietu Microsoft Office. Nasza przyszła praca z arkuszami kalkulacyjnymi dzięki wykorzystaniu makropoleceń będzie bardziej wygodna. Nie będziemy musieli powtarzać kilkakrotnie tych samych czasochłonnych operacji. Wystarczy, że uruchomimy wcześniej zapisane makro i dana procedura zostanie wykonana.

Visual Basic jest to zaawansowane narzędzie programistyczne. Chcąc tworzyć lub samodzielnie edytować wcześniej nagrane makro musimy poznać podstawowe zasady tego języka. Ponieważ wszystkie nasze nagrywane makra w arkuszu kalkulacyjnym będą automatycznie zapisywane w tym języku a następnie uruchomione jako skrypt mający za zadanie wykonać określoną funkcje.

Trochę praktyki

W kilku słowach postaram się opisać jak tworzone są makra w arkuszu kalkulacyjnym. Makropolecenia będą wykonane za pomocą Excel 2003 Professional Edition i podobnie się to robi Microsoft Office 2007, 2010 - tylko inny pasek menu. Dla przykładu zarejestrujemy kilka makr, które będą formatowały komórki z dowolnymi przez nas wpisanymi liczbami.

Rejestracja makr

Żeby nagrać makro uruchamiamy oczywiście arkusz kalkulacyjny a następnie z Paska Menu wybieramy Widok >> Paski narzędzi >> Visual Basic. Najlepszym sposobem od razu będzie dołączenie tego okienka do paska przycisków żeby nam nie przeszkadzał w dalszej pracy. Drugim sposobem, aby wywołać rejestrator to z Paska Menu wybieramy Narzędzia >> Makro >> Zarejestruj nowe makro. Moim zdaniem pierwszy sposób jest bardziej wygodny, ponieważ od razu będziemy mieli rejestrator makr i Visual Basic w jednym pasku przycisków. Przyda nam się to w ręcznym wprowadzaniu instrukcji w edytorze kodu VBA. Tak, więc klikamy na ikonę Zarejestruj makro pojawi się okno, w którym wpisujemy dane. Następnie wpisujemy nazwę makra Formatowanie. Dodatkowo w polu klawisz skrótu wpisujemy Ctrl+q, który będzie aktywował makro. Natomiast w polu Przechowuj makro w: domyślnie zapisujemy Ten skoroszyt lub Skoroszyt makr osobistych wtedy nasze makro będzie dostępne w każdym otwieranym skoroszycie. Poniżej możemy dołączyć alternatywny opis rejestrowanego makra. Klikamy przycisk OK i rozpoczyna się rejestracja makra.

Rejestrowanie makra

Na przykładzie formatowania komórek

Rejestrowanie makr zostało uruchomione. Arkusz kalkulacyjny Excel będzie zapamiętywał wszystkie wykonane przez nas czynności. Zaczynamy wpisując dowolne liczby w komórkach z dwoma lub trzema liczbami po przecinku. Dodatkowo możemy obramować i wypełnić dowolnym kolorem komórki. Następnie zaznaczamy wszystkie wypełnione pola i klikamy prawym przyciskiem myszy wybierając Formatuj komórki. Dla przykładu wybieramy Kategoria: Walutowe - Miejsca dziesiętne jedna liczba po przecinku. Zatrzymujemy rejestrowanie. Nasze pierwsze makro zostało utworzone. Teraz możemy zarejestrować następne makro np. Formatowanie 2. Podobnie zaznaczamy wszystkie wypełnione pola i wciskamy prawy przycisk myszy, ale tym razem wybieramy Kategoria: Procentowe - Miejsca dziesiętne jedna liczba po przecinku. Na takiej zasadzie rejestrujemy przykładowe makra, które następnie możemy uruchomić poprzez wybranie z pozycji dostępnych makr: Formatowanie, Formatowanie 2, Formatowanie 3 itp. Na zakończenie zapisujemy plik w wybranej przez nas lokalizacji.

Nasze przykładowe makra zostały zarejestrowane teraz możemy je uruchomić ikona Uruchom makro lub skrót klawiszowy, który wcześniej zdefiniowaliśmy do aktywowania makropolecenia (Ctrl + q). Pokazuje się nam okno z listą naszych makr wybieramy np. Formatowanie 2 i klikamy przycisk uruchom. Nasze liczby wpisane w komórkach automatyczne są przeliczane na procenty z jedną liczbą po przecinku. Ponownie klikamy uruchom makro, ale tym razem wybieramy Formatownie 3 nasze dane procentowe zostały przeliczone na ułamki. Na takim prostym przykładzie zarejestrowania kilku makr możemy w przyszłości tworzyć bardziej skomplikowane operacje matematyczne.

Uruchamianie makra

Programowanie w Visual Basic

Visual Basic for Applications w skrócie VBA tak jak pisałem wcześniej jest to zaawansowane narzędzie programistyczne firmy Microsoft dołączone do całego pakietu Office. W którym możemy samodzielnie edytować nasze wcześniej zarejestrowane makra wywołując polecenie Uruchom makro i klikając na przycisk Edycja. Natomiast, jeśli chcemy samemu od podstaw tworzyć instrukcje składające się na makra musimy uruchomić edytor Visual Basic. Następnie klikamy ikonę Insert >> Module otworzy się okno kodu gdzie wprowadzamy instrukcje, które po zapisaniu będziemy uruchomiać jako makropolecenia w arkuszu kalkulacyjnym Excel.

Przykład sumowania liczb

Przedstawiony poniżej prosty kod programu pokazuje, na jakiej zasadzie zostaje nasze wcześniej zarejestrowane makro przetworzone na instrukcje w języku Visual Basic.

Sub Suma()
'
' Suma Makro
' Sumowanie liczb
'

'
    Range("D4").Select
    ActiveCell.FormulaR1C1 = "24"
    Range("D5").Select
    ActiveCell.FormulaR1C1 = "45"
    Range("D6").Select
    ActiveCell.FormulaR1C1 = "18"
    Range("C10").Select
    ActiveCell.FormulaR1C1 = "=SUM(R[-6]C[1]:R[-5]C[1]:R[-4]C[1])"
End Sub

Edycja makropoleceń w Visual Basic

Trochę na zakończenie

Makropolecenia to bardzo dobry sposób na zaprogramowanie ciągu powtarzanych przez nas czynności nie tylko w przykładowym tu opisanym arkuszu kalkulacyjnym, ale w całym pakiecie biurowym Microsoft Office. Wielokrotnie wykonywane przez nas czynności: klikanie myszą, naciskanie klawiszy, wypełnianie komórek, formatowanie komórek itp. możemy zautomatyzować poprzez nagranie w postaci makro. Dlatego jest to tak przydatna funkcja, która w dużym stopniu ułatwia zadanie i skraca czas naszej biurowej pracy. Natomiast, jeśli będziemy chcieli edytować lub tworzyć bardziej skomplikowane makrodefinicje to musimy otworzyć edytor kodu Visual Basic.

Pozdrawiam.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.