Wstęp do makr 2 XII 2013.

Slides:



Advertisements
Podobne prezentacje
1 Współpraca Excela z innymi programami Współpraca Excela z innymi programami.
Advertisements

Podstawy programowania w VBA
Funkcje c.d. Strukturalność. Algorytmy. Ćwiczenia przed kolokwium.
typy całkowite (całkowitoliczbowe)
Wspólne skoroszytów Wspólne użytkowanie skoroszytów Arkusze i skoroszyty Tworzenie nowego skoroszytu Obliczenia w skoroszytach Przeglądanie wzorów w skoroszytach.
MS Access 2003 Kwerendy Paweł Górczyński.
MS Access 2000 Kwerendy Piotr Górczyński 25/08/2001.
MS Access 2000 Tworzenie tabel Piotr Górczyński 2005.
Tworzenie prezentacji w programie PowerPoint
Programowanie w języku Visual Basic
INFORMATYKA Wykładowca: mgr Tadeusz Ziębakowski
Programowanie obiektowe. Obiekty. Metody. Właściwości.
Wykład 2 struktura programu elementy języka typy zmienne
WINDOWS 95 WYCINEK AUTOSTART TWORZENIE POWIĄZAŃ PLIKÓW Z APLIKACJAMI
WINDOWS 95.
Arkusz kalkulacyjny Excel
Metody Matematyczne w Inżynierii Chemicznej Wprowadzenie do laboratorium.
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
Analiza danych w Excel za pomocą Analysis ToolPak
autor: Andrzej Seneczko
Visual Basic Mariusz Grad II TiB Rozpocznij prezentacje.
ARKUSZ KALKULACYJNY JUŻ PROŚCIEJ SIĘ NIE DA Wersja OFFICE 2010
VISUAL BASIC FOR APLICATION (VBA)
WORD Mgr inż. Jolanta Hopciaś
AUTOMATYZACJA PRACY W EXCELU
Podstawy systemu operacyjnego
Wprowadzenie do edytorów tekstu.
Poznaj bliżej program Microsoft Office Word 2007
Elementy programowania63 5.Zamykamy okno Dostosowywania. Makro uruchamiamy jednym kliknięciem przycisku 4.Przypisujemy do przycisku nasze makro 3.Metodą

Janusz ROŻEJ GENERATORY APLIKACJI Generatory aplikacji Janusz ROŻEJ
Opracowała Urszula Guzikowska
Projektowanie formularzy
TECHNOLOGIE INFORMATYCZNE Tydzień 6
MAKRA 1.
Formatowanie tabel. Formatowanie warunkowe. Wstawianie funkcji.
Na pasku komunikatów kliknij przycisk Włącz edytowanie,
MICROSOFT Access TWORZENIE MAKR
Formatowanie tekstu w Microsoft Word
Podstawy Visual Basic for Applications (cz. II)
Współpraca z innymi aplikacjami. Organizacja informacji 10 XII 2013.
Visual Basic w Excelu.
Visual Basic for Applications Poziom podstawowy Zajęcia 2
Zajęcia I Organizacja zajęć Rejestracja i uruchamianie makr
ARKUSZ KALKULACYJNY EXCEL wiadomości wstępne
Excel dla zaawansowanych z elementami VBA
Ujarzmić Worda Agnieszka Terebus.
Projektowanie stron WWW
Dofinansowano ze środków Ministra Kultury i Dziedzictwa Narodowego
Visual Basic w Excelu - podstawy
Wykładowca: mgr Tadeusz Ziębakowski p. 126 I piętro (naprzeciw dziekanatu)
Formatowanie tabel. Formatowanie warunkowe. Wstawianie funkcji.
Kolumny, tabulatory, tabele, sortowanie
Poznajemy arkusz kalkulacyjny
Beata Sanakiewicz. Spis treści  Łączenie dokumentów Łączenie dokumentów  Mechanizm OLE Mechanizm OLE  Obiekt osadzony Obiekt osadzony  Obiekt połączony.
VISUAL BASIC FOR APLICATION (VBA)
poziom średniozaawansowany
Podstawowe zadania w programie Excel 2010 Klasa 2 TOR.
Dominik Benduski Michał Mandecki Podstawy Visual Basic w Excelu.
Istotą kolumn jest przedzielenie strony na kilka części położonych obok siebie. Ilość kolumn jest generowana przez użytkownika, odpowiednio dla jego potrzeb.
Excel 2007 dla średniozaawansowanych Zajęcia z Prowadzący: Artur Kołos.
 Formuła to wyrażenie algebraiczne (wzór) określające jakie operacje ma wykonać program na danych. Może ona zawierać liczby, łańcuchy znaków, funkcje,
ACCESS - FORMULARZE TEMAT:. Tworzenie formularza Formularz tworzony jest w celu łatwiejszego przeglądania i edytowania danych zawartych w bazie. Tworzymy.
ARKUSZE KALKULACYJNE Ćwiczenia 20h.
Visual Basic for Applications
Visual Basic w programie Microsoft Excel
Wyższa Szkoła Ekologii i Zarządzania
Ms Access - formularze Marzena Nowakowska WZiMK, PŚk
Excel Informacje różne.
Zapis prezentacji:

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

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

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

Ć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

Ć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

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”

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

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ń

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

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

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

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

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

Ćwiczenie: projektujemy formularz Obiekt Name Caption/Text Inne USERFORM usfRegula SRW FRAME frmRamka Stabilizująca reguła wydatkowa LABEL lblKwota_1 Kwota wydatków w roku n-1 lblKwota_wynik BorderStyle 1 TEXTBOX txtKwota_1 600000000 txtKorektaCPI 1 txtPrognozaCPI 1,025 txtSredniPKB 1,03 txtKorekta -0,02 BUTTON cmdOblicz Oblicz cmdZakoncz Zakończ

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

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) zwraca pojedynczą wartość, Zaczyna się Function, a kończy End Function

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

Ćwiczenie: piszemy program Option Explicit ‘To polecenie wymusza deklarację zmiennych Dim Kwota_wynik As Single ‘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

Typy danych w Visual Basic Typ danych Wielkość (w bajtach) Charakterystyka (zakres) Boolean 2 Wartość logiczna PRAWDA / FAŁSZ Byte 1 Mała liczba całkowita od 0 do 255 Integer Liczba całkowita od -32768 do 32767 Long 4 Liczba całkowita długa (miliardy) -2147483648 do 2147483648 Single Liczba rzeczywista od -3,402823E38 do 1,401298E45 Double 8 Liczba rzeczywista dwukrotnie większa od liczby Single (E-324 do E308) Currency Liczba całkowita z 4 miejscami po przecinku Decimal 14 Duże liczby zapisywane w systemie dziesiętnym Date Data w przedziale 1/1/100 do 31/12/9999 String Długość ciągu znaków Łańcuch znaków od 0 do 65535 znaków Object Umożliwa dostęp do któregokolwiek obiektu, rozpoznawanego przez Excel Array Zależy od wielkości tablicy

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

Konstrukcje warunkowe (cz. I): IF, THEN, ELSE If warunek Then instrukcja Np. If (PrognozaCPI > 1.05 And SredniPKB > 1.04) Or PrognozaCPI <= 1 Then MsgBox ("Zła prognoza") If warunek Then [instrukcje] End If If warunek 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] …

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 Case wartość3 Instrukcje, gdy wartość3 równa się wyrażeniu … End Select

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

Pętle – ćwiczenie (cz. I) cel dla wyniku sektora GG (w % PKB) tempo wzrostu nominalnego PKB poziom długu w długim okresie (w % PKB) -1% 6,5% 16% 5,5% 19% 4,5% 23% 3,5% 30% 2,5% 41% -0,5% 8% 10% 12% 15% 21% 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. D(t) = D(t-1) – B(t) D(t)/Y(t) = D(t-1)/Y(t) – B(t)/Y(t) D(t)/Y(t) = D(t-1)/(Y(t-1)*(1+g(t))) – B(t)/Y(t) d(t) = d(t-1)/(1+g(t)) – b(t) d* = d*/(1+g) – b d*(1+g) = d* – b(1+g) d*(1+g) - d* = - b(1+g) d*g = - b(1+g) d* = - b(1+g)/g Przy czym można uprościć, zakładając że 1+g ≈ 1. Wtedy d* = - b*/g, czyli z grubsza relacja długu w długim okresie to iloraz deficytu i nominalnego tempa wzrostu PKB.

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 Sub Przycisk1_Kliknięcie() Dim i As Integer Dim j As Integer Dim d As Single Dim b 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 End Sub

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