1 / 28

Wstęp do makr

Wstęp do makr. 2 XII 2013. Wstęp do makr. środowiska pracy programisty VBA bezpieczeństwo – poziom zabezpieczeń tworzenie makr przy pomocy nagrywania przypiswanie makr do przycisków i paska „szybki dostęp”. Co można uzyskać dzięki językowi VBA?.

kiana
Download Presentation

Wstęp do makr

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Wstęp do makr 2 XII 2013

  2. Wstęp do makr • środowiska pracy programisty VBA • bezpieczeństwo – poziom zabezpieczeń • tworzenie makr przy pomocy nagrywania • przypiswanie makr do przycisków i paska „szybki dostęp”

  3. Co można uzyskać dzięki językowi VBA? • Automatyzacja czynności, które wykonujemy w regularnych odstępach czasu (np. aktualizacja Monitora Konwergencji) albo wielokrotnie (ta sama operacja w wielu wierszach lub arkuszach) • Własne funkcje • Własne interfejsy służące do wprowadzania danych i prezentacji wyników

  4. Jak wyświetlić kartę Deweloper? • Kliknąć (okrągły) przycisk pakietu Office • Opcje programu Excel • Popularne • Pokaż kartę Deweloper na Wstążce Jak utworzyć makro? • Poprzez rejestrację • Poprzez napisanie kodu źródłowego w module Visual Basic

  5. Bezpieczeństwo makr • Przycisk pakietu Office • Opcje programu Excel • Centrum zaufania • Ustawienia centrum zaufania • Ustawienia makr • Zaufane lokalizacje (dodaj nową lokalizację)

  6. Ćwiczenie: przykładowe makro • Wpisz dowolną liczbę w dowolną komórkę • Deweloper/Użyj odwołań względnych lub bezwzględnych • Deweloper/Zarejestruj makro • Nazwij makro (brak odstępów), nadaj skrót, dodaj komentarz • Jeśli chcesz używać makra we wszystkich skoroszytach, zapisz je w skoroszycie makr osobistych • Po naciśnięciu OK, wciśnij ctrl+c • Przejdź do drugiego arkusza i wciśnij ctrl+v • Zatrzymaj rejestrowanie makra • Zarejestrowałeś/-aś pierwsze makro! • Możesz teraz wypróbować, jak działa za pomocą przypisanego uprzednio skrótu

  7. Ćwiczenie – ciąg dalszy • Przejrzyj zarejestrowane makro: Alt+F11 lub Deweloper/Visual Basic lub Deweloper/makra/edycja Sub Przeklej() ' ' Przeklej Makro <- KOMENTARZE SĄ IGNOROWANE PRZEZ KOMPILATORA ' Wkleja zawartość komórki do drugiego arkusza ' ' Klawisz skrótu: Ctrl+i ' Selection.Copy ' Kopiuj Sheets("Arkusz2").Select ' Wybierz Arkusz2 ActiveSheet.Paste ' Wklej End Sub • Zmień powyższy kod procedury tak, aby zawartość komórki źródłowej była wklejana do komórki wynikowej położonej w tym samym miejscu, co komórka źródłowa (choć w innym arkuszu) • Skorzystaj z następujących linijek: Dim adres As String ' Deklarowanie zmiennej adres = ActiveCell.Address ' Przypisanie adresu do zmiennej Range(adres).Select ' Wybór komórki o uprzednio zapisanym adresie

  8. Jak przypisać makro do przycisku? • Deweloper/Wstaw/Formanty formularza/Przycisk • Wybierz makro, które chcesz przypisać i naciśnij OK. • Jeśli chcesz zmienić etykietę (napis) na przycisku, naciśnij prawym klawiszem myszy na przycisk, a potem „edytuj tekst”

  9. Jak przypisać makro do paska „Szybki dostęp”? • Kliknij na wstążkę prawym klawiszem myszy • Dostosuj pasek narzędzi „Szybki dostęp” • Wybierz polecenia z: Makra • Zaznacz makro, które chcesz dodać, dodaj i naciśnij OK

  10. Podstawy Visual Basic for Applications (cz. I) • główne elementy okna edytora VBA (eksplorator projektu, właściwości, kod programu, formularz) • zasady tworzenia procedur • zmienne – definiowanie i ich cechy • definicja pojęć: obiekt, atrybut (właściwość), metoda, argument, kolekcja • sterowanie przebiegiem programu: konstrukcje warunkowe i pętle • zasięg zmiennych, procedur i funkcji -> przeniesione na inny dzień

  11. Okno Edytor projektu VB • Skrót Atl+F11 lub Deweloper/Visual Basic Pasek menu Pasek narzędziowy Okno Eksplorator projektu Okno kodu Okno bezpośrednich instrukcji Okno właściwości

  12. Okno Eksplorator projektu • Dojście na skróty: (alt+F11) ctrl+r • Zawiera trzy przyciski: • Pokaż kod • Pokaż obiekt • Przełącz foldery • Wyświetla hierarchiczną listę aktualnie otwartych projektów oraz zawartych w nich elementów, m.in.: • Arkusze • Wykresy • ThisWorkbook (skoroszyt) • Moduły (w tym klasy) • Formularze (UserForm) • Odwołania do innych projektów

  13. Standardowy pasek narzędzi VB Pokaż Microsoft Excel Tryb projekto-wania Okno właściwości Przybornik Przerwij Eksplorator projektu Przeglądarka obiektów Wiersz i kolumna w oknie kodu Wstaw UserForm Uruchom procedurę Sub Zresetuj

  14. Okno właściwości • Dojście na skróty: (alt+F11) F4 • Służy do przeglądania i ustawiania właściwości zaznaczonego obiektu, np. formularza, projektu lub modułu • Właściwości przeglądamy alfabetycznie lub według kategorii

  15. Okno Formularz • Umożliwia tworzenie okien dialogowych • Do rysowania formantów służą przyciski (kontrolki) przybornika (toolbox) • Do ustawiania właściwości formantów służy okno właściwości

  16. Ćwiczenie: projektujemy formularz

  17. Okno Kod programu • Dojście na skróty: (alt+F11) F7 lub • nacisnąć prawym przyciskiem myszy na dany formularz / moduł, a następnie „view code” • Służy do wpisywania, przeglądania i edytowania kodu • U samej góry okna – dwa rozwijane pola listy (obiekt i procedury), dzięki którym można szybko poruszać się w obrębie programu • Prawe ramię gwiazdki wskazuje linię podziału okna • W lewym dolnym rogu znajdują się ikonki o nazwie widok i pełny widok modułu

  18. Procedury: Sub i Function • Procedura Sub (zwykła) • wykonuje określone zadania, • nie zwraca jawnie żadnych wartości, • zaczyna się Sub, a kończy End Sub • Private Sub zabezpiecza przed wykorzystaniem procedur z innych formularzy • Procedura Function (funkcja) • wykonuje określone zadania, • zwraca pojedynczą wartość, • Zaczyna się Function, a kończy End Function

  19. Jak pisać kod procedury w VB? • Z klawiatury / edytować zarejestrowane makra / kopiować kod z innego modułu • Wcięcia wiersza za pomocą tab (szczególnie przy pętlach i warunkach logicznych) • Łamanie wierszy za pomocą podkreślnika _ • Generalnie wielkość liter nie ma znaczenia • Cofamy operację za pomocą ctrl+z • Zapisujemy za pomocą ctrl+s, jeśli skoroszyt posiada makro, to rozszerzenie .xlsm

  20. Ćwiczenie: piszemy program Option Explicit ‘To polecenie wymusza deklarację zmiennych Dim Kwota_wynik AsSingle ‘Deklarujemy zmienne Dim Kwota_1 As Single Dim KorektaCPI As Single Dim PrognozaCPI As Single Dim SredniPKB As Single Dim Korekta As Single Private Sub cmdOblicz_Click() 'Procedura oblicza kwotę wydatków na rok n Kwota_1 = txtKwota_1.Value KorektaCPI = txtKorektaCPI.Value PrognozaCPI = txtPrognozaCPI.Value SredniPKB = txtSredniPKB.Value Korekta = txtKorekta.Value Kwota_wynik = Kwota_1 * KorektaCPI * PrognozaCPI * (SredniPKB + Korekta) lblKwota_wynik = Kwota_wynik End Sub Private Sub cmdZakoncz_Click() Unload Me End Sub

  21. Typy danych w Visual Basic

  22. Definicje • Obiekt – element manipulowany przy użyciu VBA, np. zakresy, wykresy, rysunki itp. • Atrybut/właściwość/własność – określona cecha obiektu, np. pole tekstowe ma czcionkę, tekst, rodzaj ramki, nazwę itp. • Metoda – operacja powiązana z obiektem, np. metoda Show służy do pokazania (usfRegula.Show) • Argument – dane konieczne do tego, aby dana procedura mogła działać • Kolekcja – zbiór podobnych obiektów, np. kolekcja Sheets (zawiera arkusze i wykresy), kolekcja Workbooks, kolekcja Worksheets

  23. Konstrukcje warunkowe (cz. I): IF, THEN, ELSE • If warunek Then instrukcja Np. If (PrognozaCPI > 1.05 And SredniPKB > 1.04) OrPrognozaCPI <= 1 Then MsgBox ("Zła prognoza") • If warunek Then [instrukcje] End If • Ifwarunek Then Instrukcje1 Else Instrukcje2 • If warunek1 Then [instrukcje, gdy warunek1 jest prawdą] ElseIf warunek2 Then [instrukcje2, gdy warunek2 jest prawdą] ElseIf warunek3 Then [instrukcje3, gdy warunek3 jest prawdą]… Else [instrukcje, gdy wszystkie warunki są fałszywe]… End If

  24. Konstrukcje warunkowe (cz. II): SELECT CASE Select Case wyrażenie Case wartość1 Instrukcje, gdy wartość1 równa się wyrażeniu Case wartość2 Instrukcje, gdy wartość2 równa się wyrażeniu Casewartość3 Instrukcje, gdy wartość3 równa się wyrażeniu … End Select

  25. Pętle UNTIL, WHILE i FOR Do If warunek Then Exit Do [instrukcje] Loop Do Until warunek [instrukcje] Loop Do While warunek [instrukcje] Loop Do [instrukcje] Loop While warunek For licznik=start To Stop If warunek Then Exit For [instrukcje] Next licznik For Each element In Grupa [instrukcje] Next element

  26. Pętle – ćwiczenie (cz. I) utrzymywanie wyniku sektora GG na odpowiednim poziomie w stosunku do wzrostu gospodarczego w danym kraju pozwala na stopniowe obniżanie relacji długu do PKB zgodnie z następującym wzorem: gdzie: d* - relacja długu do PKB w długim okresie b – wynik w relacji do PKB g – wzrost nominalnego PKB Np.

  27. Pętle – ćwiczenie (cz. II) • Zapisz program, który poda wskaźnik długu GG do PKB w długim okresie w zależności od wyniku sektora GG i średniookresowego wzrostu nominalnego PKB SubPrzycisk1_Kliknięcie() Dim i As Integer Dim j As Integer Dim d As Single Dimb As Single Dim g As Single For j = 1 To 5 g = (j + 1) Cells(1, j + 1) = g For i = 1 To 5 b = -4 + i Cells(i + 1, 1) = b Cells(i + 1, j + 1) = (-b / g) * (1 + g / 100) Next Next End Sub

  28. Okno Instrukcje bezpośrednie • Dojście na skróty (alt+F11) ctrl+g • Dzięki temu oknu można przećwiczyć różne funkcje i instrukcje • Po wpisaniu instrukcji, Excel poda wynik • Wypróbuj: • Worksheets("Arkusz2").Activate • Range("B2:B5").Select • [B2:B5].Value = 13 • ?Range("B5") • Selection.ClearContents • ?2+2 • ?Selection.Address • ?Selection.Rows.Count • ?ActiveWorkbook.Name

More Related