3. Podstawy programowania w MS EXCEL

Podobne dokumenty
2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

Program szkoleniowy. 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS

Aplikacje w środowisku VBA. Visual Basic for Aplications

Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA

Visual Basic for Applications. Wstęp

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Makropolecenia w Excelu

Plik->Opcje->Zakladka Główne->Dostosuj Wstążkę Zaznaczamy kwadracik Developer na liscie po prawej stronie. Klikamy OK.

INSTRUKCJA SKOKU GOTO

Technologie informacyjne: Excel i VBA

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY.

VISUAL BASIC W EXCELU

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PRZEKROJOWY.

Program szkolenia PODSTAWY VBA (VISUAL BASIC FOR APPLICATIONS) I FORMULARZE.

AUTOMATYZACJA PRACY Z UŻYCIEM MAKR. Tom XII NPV WSP.KORELACJI ROZKŁ.EXP JEŻELI COS KOMÓRKA VBA DNI.ROBOCZE ILOCZYN LOG SUMA CZY.

LibreOffice Calc VBA

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

1 Algorytmy. Algorytmy i VBA. 1. Zapoznaj się z symboliką schematów blokowych.

Excel. Tworzenie zaawansowanych aplikacji.

VBA-podstawy cz. 1. Począwszy od wersji Office 2010 skoroszyty Excel wsparte makrami VB mają rozszerzenie.xlsm

VBA praca z makrami w Excelu

Utworzenie interfejsu graficznego za pomocą formularza użytkownika w VBA

Właściwości i metody obiektu Comment Właściwości

Laboratorium 6. 1 Makropolecenia wprowadzenie. 2 Formatowanie komórek. 2.1 Rejestrowanie makra. Legenda: tekst do wpisania

PRACA Z FORMULARZAMI UserForm

Algorytmika i Programowanie VBA 1 - podstawy

Zastanawiałeś się może, dlaczego Twój współpracownik,

Arkusze kalkulacyjne i VBA

Nagrywanie Makr. Na karcie Dostosowywanie Wstążki zaznaczamy kartę Deweloper.

Przygotowanie własnej procedury... 3 Instrukcja msgbox wyświetlanie informacji w oknie... 6 Sposoby uruchamiania makra... 8

Wprowadzenie do programowania w VBA

VBA praca z makrami w Excelu

Visual Basic Debugging and Error Handling

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Materiały do laboratorium MS ACCESS BASIC

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Języki skryptowe w programie Plans

LABORATORIUM 6: ARKUSZ MS EXCEL JAKO BAZA DANYCH

Wprowadzenie (17) Część I. Makra w Excelu - podstawy (23)

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

Przedmiot: Informatyka w inżynierii produkcji Forma: Laboratorium Temat: Zadanie 5. MessageBox, InputBox, instrukcja Select Case i instrukcje pętli.

Makra VBA w Excelu dla początkujących

Część I: Przypisanie makr do obiektu (przycisku).

wstawianie przycisków umożliwiających wybieranie wartości poprzez klikanie strzałek

Visual Basic dla AutoCAD

COMARCH IT AKADEMIA. Programista VBA w Microsoft Excel (microbootcamp)

Arkusze kalkulacyjne i VBA

Excel z elementami VBA w firmie.

4.1. Analiza AWN jest dokonywana na poziomie VBA

Visual Basic w programie Excel dla Windows

Makropolecenia w PowerPoint Spis treści

Technologia informacyjna programowanie Janusz Uriasz

Excel 2016 PL w biurze i nie tylko / Sergiusz Flanczewski. Gliwice, cop Spis treści

Automatyzacja pracy w AutoCAD

Do obiektów nie odwołujemy się bezpośrednio, tylko przez ich atrybuty i metody. Obiekt.identyfikator[.identyfikator]

Maxima i Visual Basic w Excelu

Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów

Działki Przygotowanie organizacyjne

Instrukcje cykliczne (pętle) WHILE...END WHILE

PROGRAMOWANIE MAKR W PROGRAMIE EXCEL W JĘZYKU VISUAL BASIC

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

PROGRAMOWANIE OBIEKTOWE: VISUAL BASIC VISUAL BASIC FOR APPLICATION (VBA) NA PRZYKŁADZIE EXCELA

Arkusze kalkulacyjne i VBA

Visual Basic for Application (VBA)

VBA 1 VBA TYPY PROCEDUR (PODPROGRAM, FUNKCJA) ZMIENNE, DEKLARACJA ZMIENNYCH FUNKCJA MsgBox

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Elektroenergetyki Technologie informatyczne

Arkusze kalkulacyjne i VBA

MsgBox(Komunikat [, Przyciski] [, Tytuł] [, PlikHelp, HelpContext])

VBA w Excel Lekcja ta ma przybliżyć pojęcia związane z programowaniem w pakiecie Office. Poniższe przykłady związane są z wersją Office2007.

Ćwiczenia nr 4. Arkusz kalkulacyjny i programy do obliczeń statystycznych

Visual Basic w programie Excel

Autor: dr inż. Katarzyna Rudnik

Podstawy informatyki

VBA obiekty AutoCADa 1

M a k r a i d o d a t k o w e f o r m a n t y

Programowanie obiektowe

Wykład. Programowanie w Visual Basic. Łukasz Sturgulewski. John Walkenbach Programowanie Excel 2000 Visual Basic, Wydawnictwo RM, Warszawa 2000

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Bazy Danych. Wykład VII Makropolecenia. Copyright by Arkadiusz Rzucidło 1

14. TWORZENIE MAKROPOLECEŃ

O autorze (15) Podziękowania autora (17) Wstęp (19)

2. Wstaw przyciski: a. wykonujące funkcje z ćwiczenia 1 b. zastosuj różnorodne właściwości dla przycisku

Tablice. Jones Stygar na tropie zmiennych

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Ćwiczenie 1 Obsługa makr

Visual Basic for Application (VBA)

Parę uwag, uzupełnień

Użycie Visual Basic for Applications ("VBA")

Tablice, DataGridView

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Technologie informacyjne

Trik 1 Edycja wykresu bezpośrednio w dokumencie Worda

BAZY DANYCH Panel sterujący

Automatyzowanie zadan przy uz yciu makr języka Visual Basic

Visual Basic dla Aplikacji

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe

Excel 2013 PL. Programowanie w VBA dla bystrzaków

Transkrypt:

3. Podstawy programowania w MS EXCEL sz: mia Applications, struktury, MS Excel. 3.1. Wprowadzenie Kolejne edycje pakietów biurowych, aplikacji bazodanowych czy pakietów statystycznych aktualnie, Bardzo szybki zastosowanie e Dlatego jednym z istotnych kom 1 przede wszystkim aplikacj Microsoft Excel 2010. ania Basic (a konkretnie Visual Basic). W pakiecie MS 1 m.in. AutoCAD czy Statistica. 1

podpowiedzi kontekstowe interpretera). Z jednej strony s sów realizowanych w pakiecie MS ci. VBA pozwala bowiem na tworzenie nowych, niestandardowych funkcj Przedstawione w tym rozdziale omówienie zasad tworzenia programów w VBA stanowi z uwagi na ograniczon jedynie bardzo szerokiej literatury tematu (por. np. [Bovey i in. 2010; Bullen i in. 2006; Flanczewski 2012; Walkenbach 2011]). Z opisywanych wiele obszernych, zaawansowania,. 3.2. Makropolecenie makro zapisanych u skryptowym (w wypadku aplikacji MS Office w Visual Basic for Applications). Makropolecenia nie kompilowane, a poszczególne. Makropolecen przetwarzaniem danych. 2

Deweloper, z menu Plik, Opcje i Dostosowywanie e Deweloper. Rys. 3.1 zrzut ekranu programu MS Excel. Deweloper makropoleceniami, a unkt 3.5) oraz a kwestia j jedynie zasygnalizowana w punkcie 3.4.2 w [Bovey i in. 2010; ; Walkenbach 2011]). kreowanie ich od podstaw w edytorze Pierwszy z wymienionych sposobów jest funkcji automatycznego zapisywania kolejno wykonywanych polece utworzenia Deweloper przycisk Zarejestruj makro. Po potwierdzeniu formatowania, dodawanie lub modyfikacja uzyskanego programu przycisk Zatrzymaj rejestrowanie) po wybraniu przycisku Makra. Wskutek jego a rys. 3.2. 3

Rys. 3.2. zrzut ekranu programu MS Excel. przede wszystkim w autom operacji wykonywana jest w odniesieniu do kolejnych obszarów w arkuszu. Otrzymany w ten wykorzystanie automatycznego rejestratora makr jest uzyskania informacji o ich strukturze. nowym oknie po wybraniu opcji lub kombinacji klawiszy Alt-F11. Okno (po lewej stronie) oraz okna kodu (po prawej stronie). Rys. 3.3. Edytor Visual Basic for Applications zrzut ekranu programu MS Excel. 4

anym elemencie struktury projektu w oknie po lewej Makropolecenia przypisane arkuszom (np. Arkusz1- arkuszu. Makropolecenia, które maj, najlepiej definiowa Modules Module1 utworzenie Insert pozycji Module. Dodanie do arkusza kszej liczby zmiany rodzaju (rozszerzenia) pliku, w którym arkusz ten zostanie zapisany. Zapis w Skoroszycie programu Excel (plik z rozszerzeniem.xlsx utworzonego makropolecen Skoroszyt (plik z rozszerzeniem.xlsm) 2. Warto w tym miejscu o powinny one stosowane przekazywane innym osobom uzasadnionych przypadkach. 3.3. Podstawy s i wybrane funkcje wbudowane Zapis gdy zac 2 Starszy format plików (z rozszerzeniem.xls nich. 5

, formatowania komentarze, czyli dodatkowe informacje, 3.3.1. Tworzenie funkcji i procedur procedury 3 wyników. szerzej na ten temat por. punkt 3.5) lub funkcje utworzone podobnie jak procedury funkcji. Pierwsza z nich rozpoczyna Function, natomiast druga od Sub w nawiasie lista argumentów. Lista ta kilka poz 6

, Integer, por. punkt 3.3.2), przy czym deklarowanie jego oznaczone em kluczowym End i powtórzonym, odpowiednio, Function lub Sub. 3.1. Definicja funkcji i procedury Function funkcja (argument_funkcji as Integer) as Integer funkcja = argument_funkcji 'Przypisanie argumentu funkcji jako ' End Function Sub procedura (argument_procedury as Integer) MsgBox argument_procedury ' End Sub Sub procedura_nadrzedna () MsgBox funkcja (111) Call procedura (222) End Sub zasadniczo umieszczan funkcji musi do jej nazwy. W przedstawionym j argumentowi. np. zmiennych. Uruchomienie procedury procedura_nadrzedna 11 równym 222 3 7

procedura_nadrzedna zawsze taki sam. 3.3.2. Zmienne wykorzystywane do przechowywania inf wykonania programu. w programie. liczby dni przeliczeniowych w roku czy drugiej natomiast kodu. wykonywania programu. Dlatego zmienne pozwa tyce zarezerwowanie pewnego fragmentu (tylko w wypadku zmiennych). poszczególnych zmiennych, Integer -32 768 a 32 767), Long -2 147 483 648 a 2 147 483 647, Single (32-bitowa), Double -bitowa), Boolean logiczna prawda True) False), String tekst), Date inne, nieco rzadziej wykorzystywane) u Variant. to 8

zmienne uniwersalne, do których ich innych typów. zmiennej, przyjmowany wówczas jednak z pewnymi ograniczeniami zmienne takie nie pozwala na auto, a ich. kluczowe Dim 4. Zmienne definiowane poza procedurami (funkcjami) Private lub Public. W pierwszym wypadku zmienna jest np. Definicja zmiennej globalnej wyklucza natomiast nadanie tej samej nazwy zmiennej lokalnej. ych 3.2. Definicja zmiennych Option Explicit Private zmienna_globalna1 Public zminna_globalna2 as Date Sub zmienne_i_stala () 4 W ramach p Static. 9

Const stala as Integer = 1 'Definicja Dim zmienna as Double 'Definicja zmiennej rzeczywistej Dim tablica(2) as Integer 'Definicja tablicy dwuelementowej zmienna = 1.234 tablica(1) = 4 tablica(2) = 3 'Inicjacja zmiennych End Sub zmienna = zmienna ^ (stala * (tablica(1) - tablica(2))) MsgBox zmienna Dim, Static, Public lub Private zmiennej, spowoduje jej automatyczne utworzenie. Ta z pozoru bardzo wygodna forma jednak do problemów ze s Option Explicit Nowo zmiennym numerycznym 3.4 nazwie zmienna.234 (w VBA separatorem.234 podniesione [1 (4-3)]. w nawiasie a 10

7) tablicy w poszczególnych wymiarach definiowana jest liczbami naturalnymi, rozdzielonymi przecinkami. Gdy w nawiasie nie zostanie podana szersze omówienie tego przypadku oraz operacji na tablicach przedstawione zostanie w punkcie 3.3.4. G referencja do oryginalnej zmiennej. W pierwszej sytuacji przed ByVal w momencie uruchomienia nowej procedury tworzona jest nowa zmienna lokalna, a zmienna, ByRef. Ten kluczowych ByVal i ByRef ByRef. 3.3. Pr Sub przekazanie_byval (ByVal zmienna) zmienna = zmienna + 1 'zdefiniowanej tylko w procedurze 'przekazanie_byval End Sub Sub przekazanie_byref (ByRef zmienna) zmienna = zmienna + 1 'z procedury przekazanie_zmiennej End Sub Sub przekazanie_zmiennej() Dim zmienna zmienna = 1 Call przekazanie_byval(zmienna) MsgBox CStr(zmienna) 11

End Sub Call przekazanie_byref(zmienna) MsgBox CStr(zmienna) przekazanie_byval zmiennej zmienna wykonaniu procedury przekazanie_byref jej CStr, szersze m.in. w [Bovey i in. 2010, s. 66-67; Walkenbach 2011, s. 951]). 3.3.3. instrukcje warunkowe i instrukcje wyboru ie sposobu wykonania programu 4 If warune True Then. Else lub End If (gdy Else ). If Else, a End If 5 Else End If. Jako warunek (True False 5 Else ElseIf Then 3.8). 12

4 sprawdza, czy wprowadzona przez (instrukcja InputBox odpowiedz) jest równa 1. 3.4. Instrukcje warunkowe i wyboru Sub instrukcja_warunkowa() odpowiedz = InputBox("P ") If odpowiedz = 1 Then Else MsgBox "Inna w End If End Sub Sub instrukcja_wyboru() odpowiedz = InputBox("P okna", "1") Select Case odpowiedz Case 1: MsgBox " 1", vbokcancel, Case 2, 3 MsgBox (" 2 lub 3") Case 4 to 8, vbokonly Case Is >= 9, vbyesno Case Else: MsgBox " " End Select End Sub, i przypisaniu po Instrukcja wyboru Select Case 13

rozpoczy Case i przedstawiono 4 instrukcji pojedynczej ). W razie Case Case Else (blok ten jest opcjonalny, tak jak Else w instrukcji warunkowej). 4 [Walkenbach 2010, s. 408-415] lub w dokumentacji msdn.microsoft.com; ). licznikowe, 5 For wskazanie zmiennej licznikowej (w tym wypadku i Step oznacza, obiektu w pewnej kolekcji (zbiorze) petla_for_each 3.4. np. do analizy wskazanego fragmentu arkusza (np. zsumowania For oraz For Each wyznaczony jest przez Next oraz 14

3.5. Sub petla_for() Dim suma, i as Integer suma = 0 For i = 0 To 10 Step 2 ' suma = suma + i Next i MsgBox suma End Sub Sub petla_for_each() Dim komorka, zakres_komorek as Range Set zakres_komorek = Range("A1:B3") For Each komorka In zakres_komorek MsgBox komorka.value ' Next komorka End Sub Sub petla_do() Dim wartosc as Integer wartosc = 3 Do Until wartosc = 0 wartosc = wartosc 1 ' Loop Do While wartosc < 3 wartosc = wartosc + 1 ' Loop End Sub Do Until rze petla_do 5 wartosc Do While wartosc 15

Do Until i Do While Loop. 5 For skomplikowane, co znacznie 3.3.4. danych Z niektórymi typami danych opisanymi w punkcie 3.3.2 czne metody ich ularniejszych typów danych. przedstawione w p zie 3.6. Obok wyszukiwanie wskazanego porównywania vbbinarycompare oznacza porównywanie znak po ny sposób, vbtextcompare, Sposób na w funkcji Replace inny., jest Val. U ona 3.10). 3.6. Sub zmienne_tekstowe() Dim tekst As String tekst = "1234567890" MsgBox Len(tekst) 16

MsgBox Left(tekst, 2) 'Pierwsze dwa znaki MsgBox Right(tekst, 2) 'Ostatnie dwa znaki MsgBox Mid(tekst, 2, 3) ' MsgBox InStr(1, tekst, "234", vbbinarycompare) ' MsgBox Val(tekst) ' MsgBox Replace(tekst, "123", "321",,, vbtextcompare) 'Zamiana fragmentu "123" na "321" End Sub Nie w programach VBA zmienne tablicowe. S one jednym z podstawowych miejsc przechowywania danych iarowe ym ich Sposób definiowania tablic W.7 pokaz natomiast operacje na tablicach. W procedurze definicja_tablicy Procedura zmiana_rozmiaru_tablicy ilustruje natomiast wykorzystanie tablicy, której rozmiar nie zmieniany ReDim Preserve wykorzystane w tej definicji oznacza, zmiana_rozmiaru_tablicy pokazuje For Each do analizy tablicy, której rozmiar jest nieznany 3.7. Operacje na tablicach 17

Sub definicja_tablicy() Dim i, j as Integer Dim tablica(12, 12) As Integer For i = 1 To 12 For j = 1 To 12 tablica(i, j) = i * j Next j Next i MsgBox tablica(2, 8) End Sub Sub zmiana_rozmiaru_tablicy() Dim i as Integer Dim tablica() As Integer For i = 0 To 9 ReDim Preserve tablica(i) As Integer tablica(i) = i Next i Dim wartosc as Variant For Each wartosc In tablica MsgBox wartosc Next wartosc End Sub 3.3.5. Dobre praktyki w programowaniu ia instrukcje ego modyfikowania zarówno przez autora, jak i inne osoby. Podstawowy element jasnego i dobrze przygotowanego kodu sta. one opisami, 18

, (ich format, znaczenie). Opisane powinny szczególnie istotne lub skomplikowane fragmenty kodu jakie ewentualnie ograniczenia ich nie do zakresu czy typu danych). (funkcje) 6 programu MS Excel, ale ówczas poszczegól finansowych, lub gdy tekst programu jest problematyczne. nadawania nazw Nazwy te powinny lub znaczenie e). N, które nic nie p.) nazwy opisowe, wyrazów. Na nazwa_funkcji; sposób ten stosowania dodatk litery (np. NazwaFunkcji lub nazwafunkcji)., jest o kodu. tekstu (im, 6 19

3.4. Model obiektowy programu MS Excel 3.4.1. Wybrane obiekty kalkulacyjny. arówno do funkcji, jak i do danych przechowywanych w arkuszu jest zdefiniowanym w nim obiektom. klas obiektów, z zaw ojedyncza komórka jest w pewien sposób sformatowana (np. nie). Wszystkie te informacje (m.in. ) zmiennych obiektów owywane dane oraz sposób zachowania np. model obiektowy definiuje ich wyznacza klasy instancje obiektu (lub w skrócie obiekty, czyli np. poszczególne komórki w arkuszu), biektów olekcje obiekt Application kolekcja Workbooks ekty klasy Workbook, w której Workbook (czyli 20

skoroszyt Worksheets klasy Worksheet obiektu Worksheet Range komórek. Ze wzg skoncentrowana zostanie przede wszystkim na Range (szersze np. w [Walkenbach 2011, s. 192-194]). Rys. 3.4. Object Browser w edytorze VBA zrzut ekranu programu MS Excel. (Object Browser) w edytorze VBA, uruchamianej klawiszem F2. Na rys. 3.4 przedstawiony Range. przedstawione w kolejnym punkcie. 21

Rys. 3.5 zrzut ekranu programu MS Excel. na temat w vbokcancel, vbokonly oraz vbyesno kolekcji vbmsgboxstyle por. rys. liczbowa (np. vbyesno Jednak o 3.4.2. Praca ze zmiennymi obiektowymi Podstawowe obiekty (instancje obiektów),, skoroszytów, arkuszy itd., czy otwarcia pliku. instancji. N istnieje jednak zmiennych obiektowych, które wykorzystywane w konkretnym makropoleceniu 7. Tworzenie zmiennej obiektowej dokonywane Dim, co powoduje przypisanie do Set. 7 2010]. 22

3.8. Operacje na zmiennych obiektowych Sub koloruj_min_max() Dim zakres_arkusza As Range Dim maksimum, minimum As Double Set zakres_arkusza = Application.InputBox("Zaznacz zakres", _ "Wybór zakresu",,,,,, 8) maksimum = WorksheetFunction.Max(zakres_arkusza) minimum = WorksheetFunction.Min(zakres_arkusza) For Each komorka_arkusza In zakres_arkusza If komorka_arkusza.value = maksimum Then komorka_arkusza.interior.color = RGB(255, 0, 0) ElseIf komorka_arkusza.value = minimum Then komorka_arkusza.interior.color = RGB(0, 255, 0) Else komorka_arkusza.interior.color = xlnone End If Next komorka_arkusza End Sub Przedstawiona wskazanie (zaznaczenie) zakresu w arkuszu. Funkcja InputBox, wykorzystywana (w przy ) do wprowadzania danych, element. Z ona tutaj tu Application o tej samej nazwie (dlatego nazwa obiektu). Wykorzystanie metody Application.InputBox WorksheetFunction. W obiekcie tym zdefiniowane metody minimaln oraz maksymaln w zaznaczonym aksymalnej minimalnej przechowywanych w komórkach ów ych 23

do klasy Range obiektu Range Color Interior Range. Ustalenie skorzystano z funkcji RGB, która zwraca kolor na podstawie trzech odpowiednio czerwonej, zielonej i niebieskiej. funkcji (oraz innych metod ) np. w [Walkenbach 2011]. innych obiektó, Pozwala to z aplikacjami pakietu MS Office, z innymi aplikacjami umo 3.9. Wykorzystanie obiektów innych aplikacji Sub zapis_do_msword() Set objword = CreateObject("Word.Application") objword.visible = True Set objdoc = objword.documents.add() Set objselection = objword.selection objselection.font.name = "Arial" objselection.font.size = "18" objselection.typetext "!" objselection.typeparagraph ' ' ' ' objdoc.saved = True ' objword.quit 24

' End Sub Set objword = Nothing program MS Word z poziomu makropolecenia zdefiniowanego w programie MS Excel. W pierwszym kroku funkcja CreateObject, której argument wskazuje na obiektu, jaki ma Uruchomiony w ten sposób o w kolejnym kroku Visible True., objword.documents.add(), dodawany jest nowy element do kolekcji Documents. W tak utworzonym nowym dokumencie programu MS Word wpisywany jest tekst Wi ragment programu, zapisany jako komentarz,. N to blok ten czasowo 3.5. Tworzenie formularzy 3.5.1. Formularze definiowane w arkuszu ch oknach dialogowych uruchamianych z poziomu VBA. przynajmniej na podstawowym poziomie nie jest wymagane tworzenie programów w VBA., Deweloper Wstaw i odpowiedni formant (Formanty formularza Formanty ActiveX). 25

Rys. 3.6. Prz zrzut ekranu programu MS Excel. Formantów ActiveX przycisk opcji (Radio Button) do wyboru statusu klienta, pola nazwisko i adres e-mail), pole kombi (ComboBox) do wskazania preferowanego sposobu kontaktu oraz pole wyboru (CheckBox) do deklaracji zgody na przetwarzanie danych. formantami typu etykieta (Label). Formatowanie oraz formantu i wybranie przycisku (por. rys. 3.7; projektowania por. przycisk Deweloper). Rys. 3.7 zrzut ekranu programu MS Excel. 26

Caption, k, oraz LinkedCell, gdzie tej kontrolki (wprowadzony tekst, informacja o zaznaczeniu opcji itp.). przycisk wprowadzone informacje do baz e-mail. 3.5.2. Formularze (UserForms, Insert UserForm. lewej strony ekranu. Dodawanie formantów do formularza jest 8), View Toolbox. Rys. 3.8 zrzut ekranu programu MS Excel. 9. Analogicznie jak w wypadku formularzy w arkuszu, Properties. 27

Rys. 3.9. Formularz w trakcie edycji zrzut ekranu programu MS Excel. Po dodaniu formantów i ich rozplanowaniu na formularzu konieczne jest przypisanie w arkuszu formant na formularzu tworzy automatycznie. Nazwy tych procedur nazwy formantu (nazwy Name w oknie Properties) oraz nazwy zdarzenia (np. Click, Change) rozdzielonych dolnym pod Podstawowe zdarzenie, dla którego jest zmiana tekstu w tym polu. 28

Rys. 3.10 zrzut ekranu programu MS Excel. zaprezentowanym na rys. 3.10 8 OK (jego nazwa to CommandButton1). opcji (czyli wybór jednego adresu) tylko trzecie pole tekstowe, natomiast trzeci przycisk aktywuje wszystkie pola tekstowe. Zatwierdzenie formularza przyciskiem OK e-mail 9. 8 to Properties GroupName a dla wszystkich przycisków 9 np. w wypadku naczne 29

Rys. 3.11 zrzut ekranu programu MS Excel. W razie potrzeby zdefiniowan por. rys. 3.11, na którym pokazano TextBox (pole y jest obiektów utworzonych w danym projekcie w tym wypadku formularza (UserForm1) oraz formantów zdefiniowanych na tym formularzu. 3.6. pomocna jest wtedy programu w dowolnym momencie. Ustalenie miejsca, w którym wykon na zdefiniowaniu punktów przerwania (Breakpoints). W edytorze VBA n w tym celu na wybranej linii i F9 (lub z menu Debug Toggle breakpoint). W ozn e wykonania procedury, okna 30

Locals i Watches). W jednej procedurze m punktów przerwania. Ustawione punkty klawisz F9. Okno z ustawionym punktem przerwania 3.12 (w trakcie wykonywania programu, po zatrzymaniu w zdefiniowanym punkcie). Rys. 3.12 ie wykonania makropolecenia zrzut ekranu programu MS Excel. e programu po zatrzymaniu w punkcie przerwania, F5 (lub z menu Run Continue). kontynuowane do kolejnego punk wykonywanie programu z menu Run Reset. Locals oraz Watches, e pozycje z menu View wszystkich zmiennych lokalnych. Watches, odpowiednie zm poprzez uruchomienie funkcji Add Watch (lub Edit Watch) z menu Debug. 31

, strukturze programu. np. z 3.10. Dim wynik On Error Resume Next wynik = WorksheetFunction.Ln(0) On Error GoTo 0 wynik = WorksheetFunction.Power(0, 0) End Sub Dim wynik On Error GoTo blad wynik = WorksheetFunction.Power(-1, 0.5) MsgBox wynik Exit Sub blad: End Sub obsluga_bledu_1 róba 32

Druga z zaprezentowanych procedur obsluga_bledu_2 w wypadku blad. J procedury. W przeciwnym wypadku u. 3.7. Podsumowanie Przedstawione w niniejszym rozdziale bardzo ogólnie. Celem bowiem wprowadzenie c programowania w i pokazanie w zarysie lektura ma stano VBA 3.8. Pytania problemowe liczb ze wskazanego zakresu. Warunek maksymalnej). www.algorytm.org/algorytmy-sortowania/sortowanie-babelkowe-bubblesort.html). klient powinien, czy nie. 3.9. Literatura 33

Alexander M., Walkenbach J., Excel., Helion, Gliwice 2013. Bovey R., Wallentin D., Bullen S., Green J., Excel. Programowanie dla profesjonalistów, Helion, Gliwice 2010. Bullen S., Bovey R., Green J., Excel. Programowanie dla profesjonalistów: tajniki tworzenia, Helion, Gliwice 2006. Etheridge D., Programowanie w Excelu 2007 PL, Helion, Gliwice 2009. Flanczewski S., Excel. Tworzenie zaawansowanych aplikacji, Helion, Gliwice 2012. Lewandowski M., VBA dla Excela 2010. Leksykon kieszonkowy, Helion, Gliwice 2011 Visual Basic dla aplikacji w programach Word, PowerPoint i Excel. Praktyczny. McFedries P., Microsoft Office 2007PL., Helion, Gliwice 2008. Roman S., Excel. Makrodefinicje, Helion, Gliwice 2000. Tor A., Excel 2007 Visual Basic, Tortech, Warszawa 2007. Walkenbach J., Excel 2010 PL. Programowanie w VBA, Helion, Gliwice 2011. Wrotek W., VBA dla Excela 2010 PL., Helion, Gliwice 2011. Strona internetowa: http://msdn.microsoft.com (01.09.2013). 34