Zacznijmy od określenia, co powinniśmy rejestrować i do czego ma nam się przydać makro? Makro jest użytecznym sposobem na zautomatyzowanie użytkowania pracy z programem Excel. W związku z tym warto rejestrować wszystko, co robimy regularnie lub coś skomplikowanego, co może nam się jeszcze przydać. Jako przykład takiego zadania, które "nadaje się" do zarejestrowania makra jest raport sprzedaży, skomplikowany wykres lub diagram Gantta.
Jako przykład rejestrowania makra weźmy tworzenie wykresu z danych, które posiadamy w tabeli. Przykładowa tabela zawiera kwartalne wyniki sprzedaży.
Zobaczmy teraz, jak na podstawie tej tabeli zarejestrować makro.
Tworzenie makra zaczynamy od naciśnięcia przycisku Zarejestruj makro, który znajduje się na wstążce. Ścieżka do przycisku to: karta Deweloper -> część Kod -> przycisk Zarejestruj makro. Po naciśnięciu tego przycisku pojawi się okno dialogowe Rejestrowanie makra.
Wypełniamy wszystkie pola na oknie dialogowym zgodnie z obrazkiem poniżej:
- w polu Nazwa makra wpisujemy jego nazwę bez spacji;
- jeśli chcemy, to wybieramy skrót klawiaturowy, który każdorazowo uruchomi nasze makro;
- to makro nie będzie mi już później potrzebne, więc w trzecim polu wybrałem Ten skoroszyt;
- w ostatnim polu wpisujemy opis makra.
Od tego momentu wszystko to, co zrobimy, zostanie nagrane jak na taśmie magnetofonowej.
Po zakończeniu wykonywania wszystkich operacji klikamy na przycisk Zatrzymaj rejestrowanie, który znajduje się dokładnie w tym samym miejscu, co przycisk Zarejestruj makro.
Nasze makro możemy za każdym razem odtworzyć po użyciu skrótu klawiaturowego, który wybraliśmy. Kod makra w języku VBA możemy odnaleźć po przycisku Visual Basic w karcie Deweloper.
Nasz przykładowy kod jest następujący:
Sub PierwszeMakro()
'
' PierwszeMakro Makro
' Nasze pierwsze makro w Excelu
'
' Klawisz skrótu: Ctrl+Shift+A
'
Range("A2:D7").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range("Arkusz1!$A$2:$D$7")
ActiveChart.ChartType = xlColumnStacked
ActiveChart.SetElement (msoElementChartTitleAboveChart)
End Sub
Tym sposobem nawet początkujący użytkownik programu Excel będzie w stanie rejestrować makra.
To już wszystko. Jak zawsze zapraszam do lektury kolejnych wpisów bloga Abc Excel i oczywiście do jego subskrypcji.
Ps. Kto wie, jaki wykres stworzyłem? Na poprawne odpowiedzi czekam w komentarzach pod wpisem.
10 komentarze:
ChartType = xlColumnStacked
strzelam,że chodzi o wykres kolumnowy :-)
Strzał w 10! A wiesz może, który konkretnie jest to rodzaj wykresu kolumnowego?
no więc tak po kolei :-)
ChartType = xlColumnStacked z tego skapłem się że chodzi o wykres kolumnowy
ale żeby odpowiedzieć na Twoją zagwozdkę :-)
zrobiłem tak:
utworzyłem dokładnie taką samą tabelkę
zarejestrowałem makro po czym kod-makra-edytuj
i wkleiłem podany przez Ciebie kod,następnie uruchomiłem zapisane makro i o dziwo zadziałało he he ;-) (z początku nie dodałem na końcu end sub i nie chciało śmigać) ładnie utworzyło wykres dla podanych danych i odpowiadam,że jest to wykres kolumnowy skumulowany :-)
czyli takie makro mozna wykorzystac np. gdy co miesiąc tworzymy powtarzalne wykresy sprzedazy,wtedy rejestrujemy makro
i w nastepnych przyszłych plikach...(ale czy takie makro może być wykorzystane w innych plikach czy tylko w jednym skoroszycie,tym w którym je zapisalismy,gdyz po otworzeniu nowego pliku nie mogłem tego zpaisanego makra znaleźć)
...tworzę w dokładnie tych samych komórkach tabelkę z taką samą ilością wierszy i kolumn i uruchamiamy makro,
a gdyby do naszej tabelki z danymi dodac
np. jeszcze dwa miesiące lub jednego nowego sprzedawcę,wtedy mozna jakoś szybko zaznaczyc nowy zkres dla makra
np. Range("A2:D7").Select
i tu wpisac nowy zakres dla tabeli?
pozdrawiam
sprawdziłem,dodałem nowy miesiąc kwiecień i zmieniłem
- Range("A2:D7").Select - z D7 na E7
- ActiveChart.SetSourceData Source:=Range("Arkusz1!$A$2:$D$7") - i tu z $D$7 na $E$7 i po uruchomieniu makra dodało nowy miesiąc
to znowu ja :-)
sprawdziłem jeszcze raz dokładnie i poprawka,
w otworzonym nowym skoroszycie było do wyboru to zapisane makro...
to już naprawdę ostatni komentarz
z mej strony :-)
pozdrawiam
Wow! Prawidłowa odpowiedź! Widzę, że bardzo dobrze wyciągasz wnioski. Prowadzenie bloga dla takich czytelników jak Ty to przyjemność.
mało kto ma niezwykle cenną zdolność do przekazywania Swej wiedzy, Ty ją na pewno posiadasz, rewelacyjne artykuły. Napisane jakby ktoś mówił face to face.
Dziękuję za komplement :)
Dzięki za ten wpis, zawsze mi się wydawało, że makro to coś poza moim zasięgiem, ale chyba nie jest tak źle :P
Prześlij komentarz
Uwaga: tylko uczestnik tego bloga może przesyłać komentarze.