Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- http://www.zstrybnik.pl/sd/2015_2016/3Ti/gr3/VBA_ACCESS.pdf
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 1
- Visual Basic dla Aplikacji Visual Basic dla Aplikacji Visual Basic dla Aplikacji
- Kod Visual Basic Kod Visual Basic Kod Visual Basic -- Podstawy Podstawy Podstawy
- Wykład
- dr inż. Zbigniew Zakrzewski . Zbigniew Zakrzewski v. 1.2.2 v. 1.2.2
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 2
- Zastosowanie języka Visual Basic
- 1. MS Office (95, 97, 2000, XP, 2003, 2007) – jako VBA:
- Word,
- Excel,
- PowerPoint,
- Access,
- Publisher,
- Visio.
- 2. MS Windows (Win95 i NT) – jako VBS lub WSH.
- 3. MS Server – jako VBS lub ASP (Active Server Pages).
- 4. MS Outlook – jako VBS oraz VBA.
- 5. MS Internet Explorer – jako VBS.
- 6. AutoCAD firmy AutoDesk – jako VBS.
- 7. Corel (pakiet graficzny) – jako VBA.
- 1. MS Office (95, 97, 2000, XP, 2003, 2007) – jako VBA:
- Word,
- Excel,
- PowerPoint,
- Access,
- Publisher,
- Visio.
- 2. MS Windows (Win95 i NT) – jako VBS lub WSH.
- 3. MS Server – jako VBS lub ASP (Active Server Pages).
- 4. MS Outlook – jako VBS oraz VBA.
- 5. MS Internet Explorer – jako VBS.
- 6. AutoCAD firmy AutoDesk – jako VBS.
- 7. Corel (pakiet graficzny) – jako VBA.
- Windows Script Host
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 3
- Zasadnicze elementy języka wysokiego poziomu
- 1. Projekt (zestaw modułów oraz formularzy);
- 2. Moduł (zestaw procedur oraz funkcji);
- 3. Procedura (podprogram zawierający instrukcje);
- 4. Instrukcja (słowo kluczowe samodzielne lub grupowe);
- 5. Zmienna (statyczna lub dynamiczna, dane);
- 6. Stała (zmienna z wartością ustaloną przy deklaracji);
- 7. Operator (pojedynczy znak symbolizujący operację);
- 8. Przedrostek (znak lub zestaw znaków, skrót polecenia).
- 1. Projekt (zestaw modułów oraz formularzy);
- 2. Moduł (zestaw procedur oraz funkcji);
- 3. Procedura (podprogram zawierający instrukcje);
- 4. Instrukcja (słowo kluczowe samodzielne lub grupowe);
- 5. Zmienna (statyczna lub dynamiczna, dane);
- 6. Stała (zmienna z wartością ustaloną przy deklaracji);
- 7. Operator (pojedynczy znak symbolizujący operację);
- 8. Przedrostek (znak lub zestaw znaków, skrót polecenia).
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy
- 4
- Etykieta w programowaniu VBA
- Poprawne nazewnictwo zmiennych i obiektów:
- –
- nazwa winna rozpoczyna
- ć si
- ę od litery;
- – w
- e
- w
- n
- ątrz nazwy mo
- żna u
- żywa
- ć znaku podkre
- ślenia;
- –
- nazwa nie mo
- że zawiera
- ć znaków interpunkcyjnych:
- ! @ & ‘
- $ # ? , * . { } ( ) [ ] = + -
- ^ % / \
- ~ < > : ; ”
- –
- nazwa nie mo
- że zawiera
- ć spacji;
- –
- nie wskazane jest stosowanie w nazwach polskich liter;
- –
- nazwa zmiennej mo
- że maksymalnie zawiera
- ć 255 znaków;
- –
- nazwa formularza lub formantu mo
- że zawiera
- ć do 40 znaków;
- –
- nazwa nie mo
- że by
- ć taka sama jak nazwa funkcji, instrukcji lub metody
- wbudowanej;
- – m
- o
- du
- ł kodu nie mo
- że zawiera
- ć procedur o tych samych nazwach;
- –
- nazwy zmiennych mog
- ą si
- ę powtarza
- ć, gdy s
- ą deklarowane lokalnie w
- procedurach, a nie w sekcji deklaracji modu
- łu;
- – n
- a
- l
- e
- ży zwróci
- ć uwag
- ę, że VBA nie rozró
- żnia wielkich i ma
- łych liter.
- Poprawne nazewnictwo zmiennych i obiektów:
- –
- nazwa winna rozpoczyna
- ć si
- ę od litery;
- – w
- e
- w
- n
- ątrz nazwy mo
- żna u
- żywa
- ć znaku podkre
- ślenia;
- –
- nazwa nie mo
- że zawiera
- ć znaków interpunkcyjnych:
- ! @ & ‘
- $ # ? , * . { } ( ) [ ] = + -
- ^ % / \
- ~ < > : ; ”
- –
- nazwa nie mo
- że zawiera
- ć spacji;
- –
- nie wskazane jest stosowanie w nazwach polskich liter;
- –
- nazwa zmiennej mo
- że maksymalnie zawiera
- ć 255 znaków;
- –
- nazwa formularza lub formantu mo
- że zawiera
- ć do 40 znaków;
- –
- nazwa nie mo
- że by
- ć taka sama jak nazwa funkcji, instrukcji lub metody
- wbudowanej;
- – m
- o
- du
- ł kodu nie mo
- że zawiera
- ć procedur o tych samych nazwach;
- –
- nazwy zmiennych mog
- ą si
- ę powtarza
- ć, gdy s
- ą deklarowane lokalnie w
- procedurach, a nie w sekcji deklaracji modu
- łu;
- – n
- a
- l
- e
- ży zwróci
- ć uwag
- ę, że VBA nie rozró
- żnia wielkich i ma
- łych liter.
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 5
- Etykieta w programowaniu VBA c.d.
- Poprawianie czytelności kodu poprzez wstawianie wcięć.
- Cel: wyróżnianie bloków kodu, np. wyróżnianie zagnieżdżonych instrukcji:
- warunku If ... Then ...Else, pętli Do ... Loop lub pętli For ... Next.
- Przykład:
- Do While x3 <> 20 ‘ Początek pętli
- x1 = x1 +1
- If x1 = x2 Then ‘ Początek warunku
- x1 = 5 ‘ Podprogram warunku spełnionego
- x2 = 10
- Else ‘ W innym przypadku
- x1 = x2 ‘ Podprogram dla warunku
- x3 = 20 ‘ niespełnionego
- End If
- Loop ‘ Koniec pętli
- Poprawianie czytelności kodu poprzez wstawianie wcięć.
- Cel: wyróżnianie bloków kodu, np. wyróżnianie zagnieżdżonych instrukcji:
- warunku If ... Then ...Else, pętli Do ... Loop lub pętli For ... Next.
- Przykład:
- Do While x3 <> 20 ‘ Początek pętli
- x1 = x1 +1
- If x1 = x2 Then ‘ Początek warunku
- x1 = 5 ‘ Podprogram warunku spełnionego
- x2 = 10
- Else ‘ W innym przypadku
- x1 = x2 ‘ Podprogram dla warunku
- x3 = 20 ‘ niespełnionego
- End If
- Loop ‘ Koniec pętli
- Kod
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 6
- Etykieta w programowaniu VBA c.d.
- Kontynuacja wiersza kodu w nowej linii.
- Cel: Możliwość wizualnej analizy długiego wiersza poleceń jako całości.
- Przykład:
- MsgBox ”Aby przenieść część instrukcji VBA do ” & _
- ”następnego wiersza kodu, wpisz znak spacji” & _
- ” oraz znak podkreślenia na końcu wiersza.”
- Opatrywanie kodu VBA w komentarze.
- Public Sub Zmienne Rem Deklaracja nowej procedury
- Dim x , y As Integer Rem Deklaracja zmiennych
- x = 10 ‘ Przypisanie wartości zmiennej x
- y = 20 ‘ Przypisanie wartośći zmiennej y
- End Sub ‘ Zakończenie kodu procedury
- Kontynuacja wiersza kodu w nowej linii.
- Cel: Możliwość wizualnej analizy długiego wiersza poleceń jako całości.
- Przykład:
- MsgBox ”Aby przenieść część instrukcji VBA do ” & _
- ”następnego wiersza kodu, wpisz znak spacji” & _
- ” oraz znak podkreślenia na końcu wiersza.”
- Opatrywanie kodu VBA w komentarze.
- Public Sub Zmienne Rem Deklaracja nowej procedury
- Dim x , y As Integer Rem Deklaracja zmiennych
- x = 10 ‘ Przypisanie wartości zmiennej x
- y = 20 ‘ Przypisanie wartośći zmiennej y
- End Sub ‘ Zakończenie kodu procedury
- Kod
- Kod
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 7
- Typy danych
- Typ Opis Zakres wartości Pamięć
- Boolean Wartość logiczna Prawda (True) lub Fałsz (False) 2 bajty
- Byte Mała liczba całkowita Od 0 do 255 1 bajt
- Integer Liczba całkowita Od -32 768 do 32 767 2 bajty
- Long Liczba całkowita Od -2 147 483 648 do 2 147 483 647 4 bajty
- Single Wartość
- zmiennoprzecinkowa
- pojedynczej precyzji
- Od -3.402823E38 do -1.401298E-45
- dla ujemnych wartości oraz od
- 1.401298E-45 do 3.402823E38 dla
- dodatnich wartości
- 4 bajty
- Double Wartość
- zmiennoprzecinkowa
- podwójnej precyzji
- Od -1.79769313486231E308 do
- -4.94065645841247E-324 dla
- dodatnich wartości oraz od
- 4.94065645841247E-324 do
- 1.79769313486232E308 dla ujemnych
- 8 bajtów
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 8
- Typy danych c.d.
- Typ Opis Zakres wartości Pamięć
- Currency Duża precyzyjna
- liczba (do 19
- cyfr)
- Od –922 337 203 685 477, 5808 do 922
- 337 203 685 477,5807; cztery cyfry na
- prawo od przecinka
- 8 bajtów
- Decimal Bardzo duża,
- bardzo
- precyzyjna
- liczba (do 29
- cyfr)
- +/-79228162514264337593543950335
- bez przecinka ;
- +/-7.9228162514264337593543950335 z
- 28 miejscami na prawo od przecinka;
- najmniejsza niezerowa liczba:
- +/-0.0000000000000000000000000001
- 14 bajtów
- Date Daty i godziny Od 1 stycznia 100r. do 31 grudnia 9999r. 8 bajtów
- Object Obiekt Odniesienie do obiektu 4 bajty
- String Tekst o
- zmiennej
- długości
- Od 0 do około 2 miliardów znaków 10 bajtów
- +długość
- łańcucha
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 9
- Typy danych c.d.
- Typ Opis Zakres wartości Pamięć
- String Tekst o stałej
- długości
- Od 1 do około 65400
- znaków
- długość
- łańcucha
- Variant Dowolna
- wartość
- Wartość numeryczna – typ
- Double. Tekst o zmiennej
- długości od 0 do około 2
- miliardów znaków
- 22 bajty +
- długość
- łańcucha
- Typ niestandardowy
- zdefiniowany za
- pomocą struktury Type
- Grupa
- zmiennych
- używana jako
- całość
- Dopuszczalna wartość
- konkretnej zmiennej
- tworzącej grupę zależy od
- typu tej zmiennej
- zależna od
- składników
- Type DanePersonalne ‘ Tworzę typ zmiennej użytkownika.
- ID As Integer ‘ Tworzę elementy danych typu użytkownika.
- Nazwisko As String * 20
- Adres As String * 30
- End Type
- Kod
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 10
- Deklaracja zmiennych
- Option Explicit Pozycja – początek modułu.Wymuszenie deklaracji zmiennych. Przejrzystość kodu.
- Zasadnicza składnia podstawowego sposobu deklaracji zmiennej:
- Dim Zmienna As Typ_Danych
- Static Zmienna1 As Typ_Danych1
- Dynamiczna
- Statyczna
- Przykłady:
- Dim x1 As Integer, x2 As Integer
- Dim z2 As Double
- Dim tekst1 As string*56
- Static tekst2 As string
- Kod
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 11
- Deklaracja zmiennej i jej zasięg
- Zasięg zmiennej zależy od:
- • miejsca, w którym zmienna jest zadeklarowana (sekcja
- deklaracji modułu, wnętrze procedury);
- • słowa kluczowego służącego do deklarowania zmiennej (Dim,
- Public, Private lub Static).
- Przykłady:
- Private Slowo As String ‘Deklaracja lokalna
- Dim Komunikat As String ‘Deklaracja lokalna
- Public Licznik As Long ‘Deklaracja
- ‘globalna
- Static Numer As Integer ‘Deklaracja lokalna
- Zasięg zmiennej zależy od:
- • miejsca, w którym zmienna jest zadeklarowana (sekcja
- deklaracji modułu, wnętrze procedury);
- • słowa kluczowego służącego do deklarowania zmiennej (Dim,
- Public, Private lub Static).
- Przykłady:
- Private Slowo As String ‘Deklaracja lokalna
- Dim Komunikat As String ‘Deklaracja lokalna
- Public Licznik As Long ‘Deklaracja
- ‘globalna
- Static Numer As Integer ‘Deklaracja lokalna
- Kod
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 12
- Deklaracja zmiennej statycznej
- Cechy:
- • zmienna statyczna nie zmienia swojej wartości po wykonaniu
- procedury;
- • globalna deklaracja w funkcji lub procedurze zamienia wszystkie
- deklaracje na statyczne.
- Przykłady:
- Static Numer As Integer
- Private Static Sub Procedura()
- Static Function Suma(x1 As Integer, _
- x2 As Integer) As Double
- Cechy:
- • zmienna statyczna nie zmienia swojej wartości po wykonaniu
- procedury;
- • globalna deklaracja w funkcji lub procedurze zamienia wszystkie
- deklaracje na statyczne.
- Przykłady:
- Static Numer As Integer
- Private Static Sub Procedura()
- Static Function Suma(x1 As Integer, _
- x2 As Integer) As Double
- Kod
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 13
- Deklarowanie wielu zmiennych w wierszu
- Poprawna deklaracja zawiera (w kolejności):
- 1. Słowo kluczowe (Dim, Private, Public),
- 2. Nazwę zmiennej,
- 3. Słowo kluczowe (As),
- 4. Typ zmiennej.
- Po umieszczeniu znaku przecinka można powtórzyć punkty 2, 3 i 4.
- Dim x1 As Integer, x2 As Integer, x3 As Integer
- Dim a1 As Currency, d1 As Date, s1 As String
- Dim x1, x2, x3 As Integer : Dim x4
- Poprawna deklaracja zawiera (w kolejności):
- 1. Słowo kluczowe (Dim, Private, Public),
- 2. Nazwę zmiennej,
- 3. Słowo kluczowe (As),
- 4. Typ zmiennej.
- Po umieszczeniu znaku przecinka można powtórzyć punkty 2, 3 i 4.
- Dim x1 As Integer, x2 As Integer, x3 As Integer
- Dim a1 As Currency, d1 As Date, s1 As String
- Dim x1, x2, x3 As Integer : Dim x4
- Kod
- Uwaga: Zmienne typu Variant.
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 14
- Stała literalna (symboliczna)
- Cel:
- • określenie wartości, która nie zmienia się w czasie działania
- programu;
- • możliwość globalnej zmiany deklaracji stałej stosowanej w
- programie;
- • na stałe przypisanie nazw wartościom, w celu podniesienia
- czytelności kodu.
- Przykłady:
- Public Const Nazwisko As String = ”Kowalski”
- Private Const Data As Date = #1/10/1998#
- Const Stan As Boolean = True
- Const Poniedziałek = 1, Wtorek = 2
- Cel:
- • określenie wartości, która nie zmienia się w czasie działania
- programu;
- • możliwość globalnej zmiany deklaracji stałej stosowanej w
- programie;
- • na stałe przypisanie nazw wartościom, w celu podniesienia
- czytelności kodu.
- Przykłady:
- Public Const Nazwisko As String = ”Kowalski”
- Private Const Data As Date = #1/10/1998#
- Const Stan As Boolean = True
- Const Poniedziałek = 1, Wtorek = 2
- Kod
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 15
- Wykorzystanie przyrostków w deklaracjach
- Przyrostek Typ zmiennej Przykład deklaracji
- % Integer Dim zmienna1%, zmienna2%
- Dim wartosc1&, wartosc2&
- Dim slowo1!, slowo2!
- Dim x#, y#
- Dim x As Double, y As Double
- Dim placa1@, placa2@
- Dim lancuch1$, lancuch2$
- & Long
- ! Single
- # Double
- @ Currency
- $ String
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 16
- Definiowanie niestandardowego typu danych
- [Private | Public] Type nazwa_typu
- nazwa_elementu [([indeksy])] As typ
- [nazwa_elementu[([indeksy])] As typ]
- . . .
- End Type
- Public Element nieobowiązkowy. Deklarowanie typów zdefiniowanych przez
- użytkownika dostępnych we wszystkich procedurach, modułach,
- projektach.
- Private Element nieobowiązkowy. Deklarowanie typu definiowanego przez
- użytkownika dostępnego tylko wewnątrz modułu.
- nazwa_typu Element obowiązkowy. Nazwa typu definiowanego przez użytkownika.
- nazwa_elementu Element obowiązkowy. Nazwa elementu typu definiowanego przez
- użytkownika.
- indeksy Element nieobowiązkowy. Wymiary elementu będącego tablicą.
- Argument indeksy ma następującą składnię: [indeks_dolny To
- indeks_górny]
- typ Element obowiązkowy. Dowolnego rodzaju z wcześniejszej tabeli.
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 17
- Charakterystyka zmiennej typu „Variant”
- Cechy:
- • uniwersalność;
- • możliwość przyporządkowania wartości dowolnego typu;
- • dynamiczna zmiana typu wartości;
- • zajętość dużego bloku pamięci oraz spowolnienie programu.
- Przykład:
- Dim WszystkieDane As Variant, TypDanych
- WszystkieDane = 3
- WszystkieDane = ”Dobrze”
- WszystkieDane = #1/10/1998 19:05:21#
- ‘ Zapytanie o typ bieżącej wartości
- TypDanych = TypeName(WszystkieDane) ‘ Date
- Cechy:
- • uniwersalność;
- • możliwość przyporządkowania wartości dowolnego typu;
- • dynamiczna zmiana typu wartości;
- • zajętość dużego bloku pamięci oraz spowolnienie programu.
- Przykład:
- Dim WszystkieDane As Variant, TypDanych
- WszystkieDane = 3
- WszystkieDane = ”Dobrze”
- WszystkieDane = #1/10/1998 19:05:21#
- ‘ Zapytanie o typ bieżącej wartości
- TypDanych = TypeName(WszystkieDane) ‘ Date
- Kod
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 18
- Operatory arytmetyczne
- Operator Operacja Przykład
- + Dodawanie 2 + 1 x + y
- - Odejmowanie i negacja 2 – 1 -x
- * Mnożenie 3 * 4 x * y
- x ^ y
- x / y
- x \ y
- x Mod y
- Sqr(x)
- ^ Potęgowanie 2 ^ 3
- / Dzielenie 2 / 3
- \ Dzielenie całkowite 2 \ 3
- Mod Reszta z dzielenia 5 Mod 2
- Sqr Pierwiastek kwadratowy Sqr(4)
- Funkcja posiadająca
- charakter operatora
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 19
- Operatory porównywania i konkatenacji
- Operator Operacja Przykład
- = Równość, przypisanie x = 2 x = y
- <> Nierówność x <> 2 x <> y
- x < y
- x > y
- x <= y
- x >= y
- Like Porównywanie łańcuchów "aBBBa" Like "a*a"
- < Mniejszy x < 2
- > Większy x > 2
- <= Mniejszy lub równy x <= 2
- >= Większy lub równy x >= 2
- Is Sprawdzanie odwołań Object1 Is Object2
- & lub + Konkatenacja łańcuchów "Wynik: " & x
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 20
- Przykłady zastosowań operatora „Like”
- Dim MojWynik
- MojWynik = "aBBBa" Like "a*a" ‘ Zwraca True.
- MojWynik = "F" Like "[A-Z]" ‘ Zwraca True.
- MojWynik = "F" Like "[!A-Z]" ‘ Zwraca False.
- MojWynik = "a2a" Like "a#a" ‘ Zwraca True.
- MojWynik = "aM5b" Like "a[L-P]#[!c-e]" ‘ Zwraca True.
- MojWynik = "BAT123khg" Like "B?T*" ‘ Zwraca True.
- MojWynik = "CAT123khg" Like "B?T*" ‘ Zwraca False.
- Znaki kluczowe w łańcuchu wzorcowym:
- ? - dowolny pojedynczy znak,
- *
- - zero lub więcej znaków,
- # - dowolna pojedyncza cyfra (0–9),
- [Lista] - dowolna pojedyncza litera z <Lista>,
- [!Lista] - dowolna pojedyncza litera z poza <Lista>,
- ! - negacja listy liter.
- Dim MojWynik
- MojWynik = "aBBBa" Like "a*a" ‘ Zwraca True.
- MojWynik = "F" Like "[A-Z]" ‘ Zwraca True.
- MojWynik = "F" Like "[!A-Z]" ‘ Zwraca False.
- MojWynik = "a2a" Like "a#a" ‘ Zwraca True.
- MojWynik = "aM5b" Like "a[L-P]#[!c-e]" ‘ Zwraca True.
- MojWynik = "BAT123khg" Like "B?T*" ‘ Zwraca True.
- MojWynik = "CAT123khg" Like "B?T*" ‘ Zwraca False.
- Znaki kluczowe w łańcuchu wzorcowym:
- ? - dowolny pojedynczy znak,
- *
- - zero lub więcej znaków,
- # - dowolna pojedyncza cyfra (0–9),
- [Lista] - dowolna pojedyncza litera z <Lista>,
- [!Lista] - dowolna pojedyncza litera z poza <Lista>,
- ! - negacja listy liter.
- Kod
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 21
- Operatory logiczne
- Operator Operacja Przykład
- Not Negacja Not(x > y)
- And Koniunkcja x > y And a > b
- Or Alternatywa x > y Or a > b
- Xor Alternatywa wykluczająca x > y Xor a < b
- Eqv Równoważność x > y Eqv a > b
- Imp Implikacja x > y Imp a > b
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 22
- Operacje logiczne (Not, And)
- Zastosowanie operatora: „Not”
- Dim Test1, A, B, C, D
- A = 10 : B = 8 : C = 6 : D = Null ' Przypisanie.
- Test1 = Not(A > B) ' Zwraca False.
- Test1 = Not(B > A) ' Zwraca True.
- Test1 = Not(C > D) ' Zwraca Null.
- Test1 = Not A ' Zwraca -11 (negacja bitów).
- Zastosowanie operatora: „And”
- Dim Test2, A, B, C, D
- A = 10 : B = 8 : C = 6 : D = Null ' Przypisanie.
- Test2 = A > B And B > C ' Zwraca True.
- Test2 = B > A And B > C ' Zwraca False.
- Test2 = A > B And B > D ' Zwraca Null.
- Test2 = A And B ' Zwraca 8 (mnożenie bitów).
- Zastosowanie operatora: „Not”
- Dim Test1, A, B, C, D
- A = 10 : B = 8 : C = 6 : D = Null ' Przypisanie.
- Test1 = Not(A > B) ' Zwraca False.
- Test1 = Not(B > A) ' Zwraca True.
- Test1 = Not(C > D) ' Zwraca Null.
- Test1 = Not A ' Zwraca -11 (negacja bitów).
- Zastosowanie operatora: „And”
- Dim Test2, A, B, C, D
- A = 10 : B = 8 : C = 6 : D = Null ' Przypisanie.
- Test2 = A > B And B > C ' Zwraca True.
- Test2 = B > A And B > C ' Zwraca False.
- Test2 = A > B And B > D ' Zwraca Null.
- Test2 = A And B ' Zwraca 8 (mnożenie bitów).
- Kod
- Kod
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 23
- Operacje logiczne (Or, Xor)
- Zastosowanie operatora: „Or”
- Dim Test3, A, B, C, D
- A = 10 : B = 8 : C = 6 : D = Null ‘ Przypisanie.
- Test3 = A > B Or B > C ' Zwraca True.
- Test3 = A > B Or B > D ' Zwraca True.
- Test3 = B > D Or B > A ' Zwraca Null.
- Test3 = A Or B ' Zwraca 10 (sumowanie bitów).
- Zastosowanie operatora: „Xor”
- Dim Test4, A, B, C, D
- A = 10 : B = 8 : C = 6 : D = Null ' Przypisanie.
- Test4 = A > B Xor B > C ' Zwraca False.
- Test4 = B > A Xor B > C ' Zwraca True.
- Test4 = B > A Xor C > B ' Zwraca False.
- Test4 = B > D Xor A > B ' Zwraca Null.
- Test4 = A Xor B ' Zwraca 2 (wykluczanie pary bitów).
- Zastosowanie operatora: „Or”
- Dim Test3, A, B, C, D
- A = 10 : B = 8 : C = 6 : D = Null ‘ Przypisanie.
- Test3 = A > B Or B > C ' Zwraca True.
- Test3 = A > B Or B > D ' Zwraca True.
- Test3 = B > D Or B > A ' Zwraca Null.
- Test3 = A Or B ' Zwraca 10 (sumowanie bitów).
- Zastosowanie operatora: „Xor”
- Dim Test4, A, B, C, D
- A = 10 : B = 8 : C = 6 : D = Null ' Przypisanie.
- Test4 = A > B Xor B > C ' Zwraca False.
- Test4 = B > A Xor B > C ' Zwraca True.
- Test4 = B > A Xor C > B ' Zwraca False.
- Test4 = B > D Xor A > B ' Zwraca Null.
- Test4 = A Xor B ' Zwraca 2 (wykluczanie pary bitów).
- Kod
- Kod
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 24
- Operacje logiczne (Eqv, Imp
- )
- Zastosowanie operatora: „Eqv”
- Dim Test5, A, B, C, D
- A = 10 : B = 8 : C = 6 : D = Null ' Przypisanie.
- Test5 = A > B Eqv B > C ' Zwraca True.
- Test5 = B > A Eqv B > C ' Zwraca False.
- Test5 = A > B Eqv B > D ' Zwraca Null.
- Test5 = A Eqv B ' Zwraca -3 (porównanie bitów).
- Zastosowanie operatora: „Imp”
- Dim Test6, A, B, C, D
- A = 10 : B = 8 : C = 6 : D = Null ' Przypisanie.
- Test6 = A > B Imp B > C ' Zwraca True.
- Test6 = A > B Imp C > B ' Zwraca False.
- Test6 = B > A Imp C > B ' Zwraca True.
- Test6 = B > A Imp C > D ' Zwraca True.
- Test6 = C > D Imp B > A ' Zwraca Null.
- Test6 = B Imp A ' Zwraca -1 (włączanie bitów).
- Zastosowanie operatora: „Eqv”
- Dim Test5, A, B, C, D
- A = 10 : B = 8 : C = 6 : D = Null ' Przypisanie.
- Test5 = A > B Eqv B > C ' Zwraca True.
- Test5 = B > A Eqv B > C ' Zwraca False.
- Test5 = A > B Eqv B > D ' Zwraca Null.
- Test5 = A Eqv B ' Zwraca -3 (porównanie bitów).
- Zastosowanie operatora: „Imp”
- Dim Test6, A, B, C, D
- A = 10 : B = 8 : C = 6 : D = Null ' Przypisanie.
- Test6 = A > B Imp B > C ' Zwraca True.
- Test6 = A > B Imp C > B ' Zwraca False.
- Test6 = B > A Imp C > B ' Zwraca True.
- Test6 = B > A Imp C > D ' Zwraca True.
- Test6 = C > D Imp B > A ' Zwraca Null.
- Test6 = B Imp A ' Zwraca -1 (włączanie bitów).
- Kod
- Kod
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 25
- Deklaracja tablic
- Option Base {0 | 1} Początek modułu. Ograniczenie indeksów
- tablicy od dołu. Domyślna wartość „0”.
- Tablice statyczne
- Dim NazwaTablicy(n) As TypDanych
- Dim NazwaTablicy(n,m,p,...) As TypDanych
- Dim NazwaTablicy(n1 To n2,m1 To m2,p1 To p2, ...) As TypDanych
- Tablice dynamiczne
- Dim nazwatablicy() As TypDanych
- Do 60 wymiarów
- Option Base 1
- Dim miesiace(11) As String
- Public wyniki(10, 10, 2) As Byte
- Static dane(1 To 5, 6 To 10) As Double
- Private wartosci() ‘Tablica dynamiczna zmiennych Variant
- Kod
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 26
- Redeklaracja tablic dynamicznych (ReDim)
- Cel stosowania - ponowny przydział pamięci dla zmiennych
- reprezentujących tablice dynamiczne (w procedurze).
- ReDim [Preserve] nazwa_zmiennej (indeksy) [As typ]
- [, nazwa_zmiennej (indeksy) [As typ]] . . .
- Preserve Element nieobowiązkowy. Słowo kluczowe powodujące
- zachowanie danych istniejącej tablicy w przypadku zmiany jej
- ostatniego rozmiaru.
- nazwa_zmiennej Element obowiązkowy. Nazwa tablicy.
- indeksy Element nieobowiązkowy. Wymiary zmiennej tablicowej.
- Można zadeklarować do 60 wymiarów.
- Składnia: [indeks_dolny To] indeks_górny [ ,
- [indeks_dolny To] indeks_górny] . . .
- typ Element nieobowiązkowy. Typ danych zmiennej tablicowej.
- Możliwość zmiany tylko do dołu od typu Variant.
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 27
- Redeklaracja tablic dynamicznych c.d.
- Przykład:
- Option Base 1
- Dim Tab() As Integer 'Deklaracja tablicy dynamicznej.
- ReDim Tab(3, 2) ‘Określenie rozmiaru tablicy.
- ReDim Tab(3, 4) ‘Zmiana rozmiaru tablicy.
- ... program wypełniający tablicę ...
- ReDim Preserve Tab(3, 5) ‘Zmiana rozmiaru z
- ‘zachowaniem wcześniej wprowadzonych danych.
- Przykład:
- Option Base 1
- Dim Tab() As Integer 'Deklaracja tablicy dynamicznej.
- ReDim Tab(3, 2) ‘Określenie rozmiaru tablicy.
- ReDim Tab(3, 4) ‘Zmiana rozmiaru tablicy.
- ... program wypełniający tablicę ...
- ReDim Preserve Tab(3, 5) ‘Zmiana rozmiaru z
- ‘zachowaniem wcześniej wprowadzonych danych.
- 11 12 13 14
- 21 22 23 24
- 31 32 33 34
- Tab Tab Tab Tab
- Tab Tab Tab Tab
- Tab Tab Tab Tab
- ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦
- 11 12 13 14 15
- 21 22 23 24 25
- 31 32 33 34 35
- Tab Tab Tab Tab Tab
- Tab Tab Tab Tab Tab
- Tab Tab Tab Tab Tab
- ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦
- Nowe elementy tablicy (macierzy)
- Nienaruszona część tablicy (macierzy)
- Kod
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 28
- Odczyt indeksów tablicy
- Odczyt dolnego indeksu tablicy:
- LBound(NazwaTablicy[, NumerWymiaru])
- Odczyt górnego indeksu tablicy:
- UBound(NazwaTablicy[, NumerWymiaru])
- Option Base 1
- Dim Dolna, Gorna
- Dim Matrix(1 To 10, 5 To 15, 10 To 20)
- Dim InnyMatrix(10) As Double
- Dolna = LBound(Matrix, 1) ' Zwraca 1.
- Dolna = LBound(Matrix, 3) ' Zwraca 10.
- Dolna = LBound(InnyMatrix) ' Zwraca 1.
- Gorna = UBound(Matrix, 1) ' Zwraca 10.
- Gorna = UBound(Matrix, 3) ' Zwraca 20.
- Gorna = UBound(InnyMatrix) ' Zwraca 10.
- Odczyt dolnego indeksu tablicy:
- LBound(NazwaTablicy[, NumerWymiaru])
- Odczyt górnego indeksu tablicy:
- UBound(NazwaTablicy[, NumerWymiaru])
- Option Base 1
- Dim Dolna, Gorna
- Dim Matrix(1 To 10, 5 To 15, 10 To 20)
- Dim InnyMatrix(10) As Double
- Dolna = LBound(Matrix, 1) ' Zwraca 1.
- Dolna = LBound(Matrix, 3) ' Zwraca 10.
- Dolna = LBound(InnyMatrix) ' Zwraca 1.
- Gorna = UBound(Matrix, 1) ' Zwraca 10.
- Gorna = UBound(Matrix, 3) ' Zwraca 20.
- Gorna = UBound(InnyMatrix) ' Zwraca 10.
- Kod
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 29
- Dialogowe okna komunikacyjne
- Okno informacyjne - funkcja „MsgBox()”
- MsgBox(strKomunikat[, intPrzyciski] [, strNaglowek]
- [, strZbiorPomocy, intNumerKontekstu])
- strKomunikat Wymagany. Łańcuch do 1024 znaków. Przechodzenie do
- nowej linii Chr(13).Wprowadzenie pustej linii Chr(10).
- intPrzyciski Nie wymagany. Suma wartości określających wyświetlane
- przyciski, typ wyświetlanej ikony, przycisk domyślny,
- modalność okna. Wartość domyślna wynosi „0”.
- strNagłowek Nie wymagany. Łańcuch określający nazwę okna
- informacyjnego. Domyślnie jest to nazwa aplikacji.
- strZbiorPomocy Nie wymagany. Łańcuch określający nazwę zbioru z pomocą
- podręczną. Wymagany, gdy został określony
- intNumerKontekstu.
- intNumerKontekstu Nie wymagany. Numer kontekstu pomocy podręcznej.
- Wymagany, gdy został wprowadzony strZbiorPomocy.
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 30
- Dialogowe okna komunikacyjne c.d.
- Okno informacyjne
- Przyciski wyświetlane w oknie informacyjnym:
- Nazwa stałej Wartość Przyciski Polska wersja
- vbOKOnly 0 OK OK
- OK, Anuluj
- Przerwij, Ponów próbę,
- Zignoruj
- Tak, Nie, Anuluj
- Tak, Nie
- Ponów próbę, Anuluj
- Pomoc
- vbOKCancel 1 OK, Cancel
- vbAbortRetryIgnore 2 Abort, Retry, Ignore
- vbYesNoCancel 3 Yes, No, Cancel
- vbYesNo 4 Yes, No
- vbRetryCancel 5 Retry, Cancel
- vbMsgBoxHelpButton 16384 Help
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 31
- Dialogowe okna komunikacyjne c.d.
- Okno informacyjne
- Nazwa stałej Wartość Opis
- Ikony wyświetlane w oknie komunikatu:
- vbCritical 16 Wyświetla ikonę zdarzenia krytycznego.
- vbDefaultButton3 512 Trzeci przycisk jako domyślny.
- 32
- 48
- 64
- 0
- 256
- 768
- vbQuestion Wyświetla ikonę zapytania.
- vbExclamation Wyświetla ikonę wiadomości ostrzegawczej.
- vbInformation Wyświetla ikonę informacyjną.
- Domyślne przyciski wyświetlane w oknie komunikatu:
- vbDefaultButton1 Pierwszy przycisk jako domyślny.
- vbDefaultButton2 Drugi przycisk jako domyślny.
- vbDefaultButton4 Czwarty przycisk jako domyślny.
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 32
- Dialogowe okna komunikacyjne c.d.
- Okno informacyjne
- Nazwa stałej Wartość Opis
- Modalność okna komunikatu:
- vbApplicationModal 0 Okno modalne w aplikacji; działanie bieżącej
- aplikacji zostanie wstrzymane, dopóki użytkownik
- nie odpowie na wyświetlony komunikat.
- vbSystemModal 4096 Okno modalne w systemie; działanie wszystkich
- aplikacji zostanie wstrzymane, dopóki użytkownik
- nie odpowie na wyświetlony komunikat.
- Inne funkcje dotyczące wyświetlania okna i tekstu w oknie:
- vbMsgBoxSetForeground 65536 Okno informacyjne na pierwszy plan.
- vbMsgBoxRight 524288 Polecenie dosunięcia tekstu do prawej strony.
- vbMsgBoxRtlReading 1048576 Odwrotne wprowadzanie tekstu do okna.
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 33
- Dialogowe okna komunikacyjne c.d.
- Okno informacyjne
- Wartości zwracane przez funkcję MsgBox():
- Nazwa stałej Wartość Opis
- vbOK 1 Użytkownik wcisnął przycisk OK.
- vbCancel 2 Użytkownik wcisnął przycisk Cancel (Anuluj).
- vbAbort 3 Użytkownik wcisnął przycisk Abort (Przerwij).
- vbRetry 4 Użytkownik wcisnął przycisk Retry (Ponów próbę).
- vbIgnore 5 Użytkownik wcisnął przycisk Ignore (Zignoruj).
- vbYes 6 Użytkownik wcisnął przycisk Yes (Tak).
- vbNo 7 Użytkownik wcisnął przycisk No (Nie).
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 34
- Dialogowe okna komunikacyjne c.d.
- Okno informacyjne
- Przykłady:
- Dim Info
- MsgBox "Zostały wykonane niezbędne obliczenia."
- Info = MsgBox("Początkowy tekst informacyjny."& _
- Chr(13) & "Przechodzę do nowej linii.", _
- vbDefaultButton2 + vbInformation + vbYesNoCancel + _
- vbMsgBoxHelpButton, "Nazwa próbnego okna")
- Okno informacyjne
- Przykłady:
- Dim Info
- MsgBox "Zostały wykonane niezbędne obliczenia."
- Info = MsgBox("Początkowy tekst informacyjny."& _
- Chr(13) & "Przechodzę do nowej linii.", _
- vbDefaultButton2 + vbInformation + vbYesNoCancel + _
- vbMsgBoxHelpButton, "Nazwa próbnego okna")
- Kod
- P
- P1
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 35
- Dialogowe okna komunikacyjne c.d.
- Okno informacyjne
- Przykład - decyzyjne zamknięcie okna informacyjnego:
- Dim Msg, Style, Title, Help, Ctxt, Resp, MyStr
- Msg = "Czy chcesz kontynuować ?"
- Style = vbYesNo + vbCritical + vbDefaultButton2
- Title = "Prezentacja okna"
- Help = "DEMO.HLP"
- Ctxt = 1000
- Resp = MsgBox(Msg, Style, Title, Help, Ctxt)
- If Resp = vbYes Then
- MyStr = "Tak"
- Else
- MyStr = "Nie"
- End If
- MsgBox MyStr
- Okno informacyjne
- Przykład - decyzyjne zamknięcie okna informacyjnego:
- Dim Msg, Style, Title, Help, Ctxt, Resp, MyStr
- Msg = "Czy chcesz kontynuować ?"
- Style = vbYesNo + vbCritical + vbDefaultButton2
- Title = "Prezentacja okna"
- Help = "DEMO.HLP"
- Ctxt = 1000
- Resp = MsgBox(Msg, Style, Title, Help, Ctxt)
- If Resp = vbYes Then
- MyStr = "Tak"
- Else
- MyStr = "Nie"
- End If
- MsgBox MyStr
- Kod
- P
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 36
- Dialogowe okna komunikacyjne c.d.
- Okno wprowadzania danych – funkcja „InputBox()”
- strZmienna = InputBox( strPytanie [, strTytul] [,strDomyslne]
- [,intXpoz] [,intYpoz] [, strPomoc, intKontekst])
- strPytanie Argument obowiązkowy typu String określający komunikat
- umieszczany w oknie.
- strTytul Parametr opcjonalny typu String określający tytuł okna komunikatu.
- strDomyslne Parametr opcjonalny typu String określający domyślną wartość
- wyświetlaną w polu tekstowym okna.
- intXpoz Parametr opcjonalny typu Integer określający pozycję okna , w
- twipsach, w formularzu od lewego brzegu okna.
- intYpoz Parametr opcjonalny typu Integer określający pozycję okienka, w
- twipsach, w formularzu od górnego brzegu okna.
- strPomoc Parametr opcjonalny typu String określający zbiór pomocy.
- intKontekst Parametr opcjonalny typu Integer określający kontekst pomocy.
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 37
- Dialogowe okna komunikacyjne c.d.
- Okno wprowadzania danych
- Wartości zwracane przez funkcję „InputBox()”:
- Akcja Opis
- Wybór przycisku „OK” Zwracana jest wartość typu String wpisana przez
- użytkownika do pola tekstowego lub zaakceptowana
- wartość domyślna.
- Wybór przycisku „Anuluj” Zwracana jest wartość typu String w postaci pustego
- łańcucha ””.
- Przykład:
- Dim a, b, c As Integer
- a = InputBox("Podaj liczbę a: ")
- b = InputBox("Podaj liczbę b: ")
- c = a - (-b)
- MsgBox "Suma podanych liczb: " & c
- Kod
- P
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 38
- Dialogowe okna komunikacyjne c.d.
- Okno wprowadzania danych
- Przykłady:
- Dim Message, Title, Def, War
- Message = "Wprowadź wartość między 1 a 3" 'Komunikat.
- Title = "Wprowadzanie danych" 'Nazwa okna.
- Def = "1" ' Wartość bieżąca.
- War = InputBox(Message, Title, Def)
- 'Zastosowanie pomocy. Pojawienie się przycisku Pomoc.
- War = InputBox(Message, Title, Def,,,"DEMO.HLP", 10)
- ‘Wyświetlenie okna w pozycji 100, 100.
- War = InputBox(Message, Title, Def, 100, 100)
- Okno wprowadzania danych
- Przykłady:
- Dim Message, Title, Def, War
- Message = "Wprowadź wartość między 1 a 3" 'Komunikat.
- Title = "Wprowadzanie danych" 'Nazwa okna.
- Def = "1" ' Wartość bieżąca.
- War = InputBox(Message, Title, Def)
- 'Zastosowanie pomocy. Pojawienie się przycisku Pomoc.
- War = InputBox(Message, Title, Def,,,"DEMO.HLP", 10)
- ‘Wyświetlenie okna w pozycji 100, 100.
- War = InputBox(Message, Title, Def, 100, 100)
- Kod
- P
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 39
- Funkcje i podprogramy (procedury)
- Typy procedur:
- 1. Podprogram
- –
- deklarowana za pomoc
- ą
- s
- łowa kluczowego Sub.
- Mo
- że by
- ć uruchamiana samodzielnie. Mo
- żna z jej wn
- ętrza
- uruchamia
- ć inne procedury.
- 2. Funkcja
- –
- deklarowana za pomoc
- ą
- s
- łowa kluczowego Function.
- Zwraca wartość do procedury przez któr
- ą zosta
- ła wywo
- łana.
- 3. Procedura zdarzenia
- –
- deklarowana za pomoc
- ą
- s
- łowa
- kluczowego Event. Uruchamiana najczęściej poprzez inicjowanie
- zdarzenia pochodz
- ącego z obiektu wizualnego –
- formularza.
- 4. Procedura w
- ł
- a
- ściwo
- ści
- –
- deklarowana za pomoc
- ą
- s
- łowa
- kluczowego Property. Stosowana przy odczytywaniu lub
- modyfikowaniu warto
- ści w
- ł
- a
- ściwo
- ści.
- 5. Makro
- – podprogram bez parametrów najczęściej uruchamiany
- bezpo
- średnio z aplikacji. Mo
- żna go wywo
- ł
- a
- ć z parametrami z
- poziomu innej procedury.
- Typy procedur:
- 1. Podprogram
- –
- deklarowana za pomoc
- ą
- s
- łowa kluczowego Sub.
- Mo
- że by
- ć uruchamiana samodzielnie. Mo
- żna z jej wn
- ętrza
- uruchamia
- ć inne procedury.
- 2. Funkcja
- –
- deklarowana za pomoc
- ą
- s
- łowa kluczowego Function.
- Zwraca wartość do procedury przez któr
- ą zosta
- ła wywo
- łana.
- 3. Procedura zdarzenia
- –
- deklarowana za pomoc
- ą
- s
- łowa
- kluczowego Event. Uruchamiana najczęściej poprzez inicjowanie
- zdarzenia pochodz
- ącego z obiektu wizualnego –
- formularza.
- 4. Procedura w
- ł
- a
- ściwo
- ści
- –
- deklarowana za pomoc
- ą
- s
- łowa
- kluczowego Property. Stosowana przy odczytywaniu lub
- modyfikowaniu warto
- ści w
- ł
- a
- ściwo
- ści.
- 5. Makro
- – podprogram bez parametrów najczęściej uruchamiany
- bezpo
- średnio z aplikacji. Mo
- żna go wywo
- ł
- a
- ć z parametrami z
- poziomu innej procedury.
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 40
- Deklaracja funkcji
- Deklaracja i składnia funkcji:
- [Public | Private] [Static] Function Nazwa [(ListaArgumentów)] [As
- TypZwracany]
- [instrukcje]
- [Nazwa = wyrażenie]
- [Exit Function]
- [instrukcje]
- [Nazwa = wyrażenie]
- End Function
- Deklaracja i składnia funkcji:
- [Public | Private] [Static] Function Nazwa [(ListaArgumentów)] [As
- TypZwracany]
- [instrukcje]
- [Nazwa = wyrażenie]
- [Exit Function]
- [instrukcje]
- [Nazwa = wyrażenie]
- End Function
- Przestrzeń
- ładunkowa funkcji
- (wnętrze)
- Deklaracja zasięgu działania funkcji
- Miejsce wprowadzania
- danych do funkcji
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 41
- Składnia listy argumentów funkcji
- [Optional] [ByVal | ByRef] [ParamArray] NazwaZmiennej [( )]
- [As Typ] [= WarDomyślna]
- Optional Element nieobowiązkowy. Wskazuje, że argument nie jest
- wymagany.
- ByVal Element nieobowiązkowy. Wskazuje, że argument przekazywany
- jest przez wartość podaną w trakcie wywołania funkcji.
- ByRef Element nieobowiązkowy. Wskazuje, że argument przekazywany
- jest przez odwołanie do ostatnio przypisanej wartości. W języku
- Visual Basic ByRef jest ustawieniem domyślnym.
- ParamArray Element nieobowiązkowy. Stosowany tylko jako ostatni
- argument na liście argumentów. Wskazuje, że ostatnim
- argumentem jest opcjonalna tablica z elementami typu Variant.
- NazwaZmiennej Element obowiązkowy. Nazwa różna od wbudowanych.
- WarDomyślna Element nieobowiązkowy. Stała lub konkretna wartość.
- Typ Element nieobowiązkowy. Dowolny typ danych.
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 42
- Funkcje – przykłady deklaracji
- Function Pierwiastek(Argument As Double) _
- As Double
- If Argument < 0 Then 'Sprawdzanie argumentu.
- MsgBox "Podaj dodatnią wartość."
- Exit Function 'Wyjście z funkcji.
- Else
- Pierwiastek = Sqr(Argument)
- 'Zwraca wartość.
- End If
- End Function
- Function Pierwiastek(Argument As Double) _
- As Double
- If Argument < 0 Then 'Sprawdzanie argumentu.
- MsgBox "Podaj dodatnią wartość."
- Exit Function 'Wyjście z funkcji.
- Else
- Pierwiastek = Sqr(Argument)
- 'Zwraca wartość.
- End If
- End Function
- Kod
- P
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 43
- Funkcje – przykłady deklaracji i wywołań
- Function Obliczenia(ByVal Arg1 As Integer, _
- ParamArray ArgN())
- Dim Wartosc
- ‘Wywołanie funkcji jak poniżej:
- Wartosc = Obliczenia(4, 3 ,2 ,1)
- ‘ Lokalne zmienne otrzymały wartości:
- ‘ Arg1 = 4,
- ‘ ArgN(0) = 3, ArgN(1) = 2, ArgN(2) = 1
- Function Obliczenia(ByVal Arg1 As Integer, _
- ParamArray ArgN())
- Dim Wartosc
- ‘Wywołanie funkcji jak poniżej:
- Wartosc = Obliczenia(4, 3 ,2 ,1)
- ‘ Lokalne zmienne otrzymały wartości:
- ‘ Arg1 = 4,
- ‘ ArgN(0) = 3, ArgN(1) = 2, ArgN(2) = 1
- Kod
- Deklaracja funkcji
- Wywołanie funkcji poprzez przypisanie
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 44
- Funkcje – przykłady deklaracji i wywołań c.d.
- Public Function Srednia(ByVal Arg1 As
- _
- Integer, ParamArray ArgN())
- Dim i As Integer
- Srednia = 0
- For i = 0 To Arg1 - 1
- Srednia = Srednia + ArgN(i)
- Next i
- Srednia = Srednia / Arg1
- End Function
- Sub Wykonaj()
- MsgBox Srednia(6, 2, 4, 3, 6, 7, 8)
- End Sub
- Public Function Srednia(ByVal Arg1 As
- _
- Integer, ParamArray ArgN())
- Dim i As Integer
- Srednia = 0
- For i = 0 To Arg1 - 1
- Srednia = Srednia + ArgN(i)
- Next i
- Srednia = Srednia / Arg1
- End Function
- Sub Wykonaj()
- MsgBox Srednia(6, 2, 4, 3, 6, 7, 8)
- End Sub
- Kod
- P
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 45
- Funkcje – przykłady deklaracji i wywołań c.d.
- Function Funkcja(MyStr As String, Optional _
- Arg1 As Integer = 5, Optional Arg2 _
- = "Zofia")
- Dim RetVal
- ‘Funkcja może być wywołana następująco:
- RetVal = Funkcja("Cześć", 2, "Słowo")
- ‘Wszystkie trzy argumenty dostarczone.
- RetVal = Funkcja("Test", , 5)
- ‘Ominięty drugi argument.
- RetVal = Funkcja(MyStr:="Cześć", Arg1:=7)
- ‘Pierwszy i drugi argument wywołany
- ‘według nazwy.
- Function Funkcja(MyStr As String, Optional _
- Arg1 As Integer = 5, Optional Arg2 _
- = "Zofia")
- Dim RetVal
- ‘Funkcja może być wywołana następująco:
- RetVal = Funkcja("Cześć", 2, "Słowo")
- ‘Wszystkie trzy argumenty dostarczone.
- RetVal = Funkcja("Test", , 5)
- ‘Ominięty drugi argument.
- RetVal = Funkcja(MyStr:="Cześć", Arg1:=7)
- ‘Pierwszy i drugi argument wywołany
- ‘według nazwy.
- Kod
- Deklaracja funkcji
- Wywołanie funkcji poprzez przypisanie
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 46
- Deklaracja procedury
- Deklaracja i składnia procedury:
- [Public | Private | Friend] [Static] Sub Nazwa [(ListaArgumentów)]
- [instrukcje]
- [Nazwa = wyrażenie]
- [Exit Sub]
- [instrukcje]
- [Nazwa = wyrażenie]
- End Sub
- Deklaracja i składnia procedury:
- [Public | Private | Friend] [Static] Sub Nazwa [(ListaArgumentów)]
- [instrukcje]
- [Nazwa = wyrażenie]
- [Exit Sub]
- [instrukcje]
- [Nazwa = wyrażenie]
- End Sub
- Przestrzeń ładunkowa
- procedury (wnętrze)
- Deklaracja zasięgu działania procedury
- Miejsce wprowadzania
- danych do procedury
- Friend – deklaracja podobna do słowa kluczowego Public; stosowana
- wyłącznie w module klasy; procedura widoczna w całym projekcie, poza
- kontrolerem obiektów.
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 47
- Składnia listy argumentów procedury
- [Optional] [ByVal | ByRef] [ParamArray] NazwaZmiennej [( )]
- [As Typ] [= WarDomyślna]
- Optional Element nieobowiązkowy. Wskazuje, że argument nie jest
- wymagany.
- ByVal Element nieobowiązkowy. Wskazuje, że argument przekazywany
- jest przez wartość podaną w trakcie wywołania procedury.
- ByRef Element nieobowiązkowy. Wskazuje, że argument przekazywany
- jest przez odwołanie do ostatnio przypisanej wartości. W języku
- Visual Basic ByRef jest ustawieniem domyślnym.
- ParamArray Element nieobowiązkowy. Stosowany tylko jako ostatni
- argument na liście argumentów. Wskazuje, że ostatnim
- argumentem jest opcjonalna tablica z elementami typu Variant.
- NazwaZmiennej Element obowiązkowy. Nazwa różna od wbudowanych.
- WarDomyślna Element nieobowiązkowy. Stała lub konkretna wartość.
- Typ Element nieobowiązkowy. Dowolny typ danych.
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 48
- Procedura – przykład deklaracji
- Sub ObliczPole(Dlugosc, Szerokosc, Okno)
- 'Deklaracja zmiennej lokalnej
- Dim Pole As Double.
- If Dlugosc = 0 Or Szerokosc = 0 Then
- 'Jeżeli któryś z argumentów jest równy 0,
- Exit Sub 'opuść natychmiast procedurę.
- End If
- 'Oblicz pole prostokąta.
- Pole = Dlugosc * Szerokosc
- 'Wypisz wartość Pole w oknie MsgBox.
- If Okno = True Then MsgBox Pole
- End Sub
- Sub ObliczPole(Dlugosc, Szerokosc, Okno)
- 'Deklaracja zmiennej lokalnej
- Dim Pole As Double.
- If Dlugosc = 0 Or Szerokosc = 0 Then
- 'Jeżeli któryś z argumentów jest równy 0,
- Exit Sub 'opuść natychmiast procedurę.
- End If
- 'Oblicz pole prostokąta.
- Pole = Dlugosc * Szerokosc
- 'Wypisz wartość Pole w oknie MsgBox.
- If Okno = True Then MsgBox Pole
- End Sub
- Kod
- P
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 49
- Procedura – przykłady wywołań
- Private Sub PodajParametry()
- Dim x As Single, y As Single, z As Boolean
- x = 10: y = 30: z = True
- Call ObliczPole(x, y, z)
- End Sub
- Public Sub PodajParametry()
- Dim x As Single, y As Single, z As Boolean
- x = 10: y = 60: z = True
- ObliczPole Dlugosc:=x, Szerokosc:= y, Okno:=z
- End Sub
- Private Sub PodajParametry()
- Dim x As Single, y As Single, z As Boolean
- x = 10: y = 30: z = True
- Call ObliczPole(x, y, z)
- End Sub
- Public Sub PodajParametry()
- Dim x As Single, y As Single, z As Boolean
- x = 10: y = 60: z = True
- ObliczPole Dlugosc:=x, Szerokosc:= y, Okno:=z
- End Sub
- Kod
- P
- P1
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 50
- Wbudowane instrukcje, funkcje i metody
- Zestawy instrukcji, funkcji i metod mo
- żna podzieli
- ć na:
- 1. Formatuj
- ące dane (np. Format
- –
- formatowanie danych wed
- ług
- zadanego wzorca; mo
- żliwość tworzenia w
- łasnego wzorca).
- 2. Konwertuj
- ące typy danych (mo
- żliwość kontrolowania typów
- danych i tworzenia przejrzystego oraz czytelnego kodu).
- 3. Manipuluj
- ące
- ł
- a
- ńcuchami znaków (obcinanie, wydzielanie
- fragmentów, filtrowanie
- ł
- a
- ńcuchów znaków).
- 4. Manipuluj
- ące datami i godzinami (wyodr
- ębnianie sk
- ładników,
- wykonywanie operacji matematycznych).
- 5. Umo
- żliwiaj
- ące komunikacj
- ę z u
- żytkownikiem (Funkcje MsgBox
- oraz InputBox
- –
- wizualny sposób wy
- świetlania komunikatów
- oraz pobierania danych od u
- żytkownika).
- 6. Matematyczne, finansowe i logiczne.
- 7. Wykonuj
- ące operacje wej
- ścia oraz wyj
- ścia.
- Zestawy instrukcji, funkcji i metod mo
- żna podzieli
- ć na:
- 1. Formatuj
- ące dane (np. Format
- –
- formatowanie danych wed
- ług
- zadanego wzorca; mo
- żliwość tworzenia w
- łasnego wzorca).
- 2. Konwertuj
- ące typy danych (mo
- żliwość kontrolowania typów
- danych i tworzenia przejrzystego oraz czytelnego kodu).
- 3. Manipuluj
- ące
- ł
- a
- ńcuchami znaków (obcinanie, wydzielanie
- fragmentów, filtrowanie
- ł
- a
- ńcuchów znaków).
- 4. Manipuluj
- ące datami i godzinami (wyodr
- ębnianie sk
- ładników,
- wykonywanie operacji matematycznych).
- 5. Umo
- żliwiaj
- ące komunikacj
- ę z u
- żytkownikiem (Funkcje MsgBox
- oraz InputBox
- –
- wizualny sposób wy
- świetlania komunikatów
- oraz pobierania danych od u
- żytkownika).
- 6. Matematyczne, finansowe i logiczne.
- 7. Wykonuj
- ące operacje wej
- ścia oraz wyj
- ścia.
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 51
- Składnia instrukcji warunkowej (If)
- Instrukcja warunkowa: If ... Then ... Else ... End If
- 1. If warunek Then [instrukcje]
- Przykład:
- If d > 200 Then c=d+2
- 2. If warunek Then instrukcje Else instrukcje
- Przykład:
- If d > 200 Then c=d+2 Else c=d-62
- 3. If warunek1 Then
- instrukcje
- [ElseIf warunek2 Then
- instrukcje]
- [Else
- instrukcje]
- End If
- Instrukcja warunkowa: If ... Then ... Else ... End If
- 1. If warunek Then [instrukcje]
- Przykład:
- If d > 200 Then c=d+2
- 2. If warunek Then instrukcje Else instrukcje
- Przykład:
- If d > 200 Then c=d+2 Else c=d-62
- 3. If warunek1 Then
- instrukcje
- [ElseIf warunek2 Then
- instrukcje]
- [Else
- instrukcje]
- End If
- Kod
- Kod
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 52
- Składnia instrukcji warunkowej (If) c.d.
- Przykład:
- Private Sub Warunek(Num As Long, _
- Optional Cyfry As Long)
- If Num < 10 Then ‘Pierwszy warunek
- Cyfry = 1
- ElseIf Num < 100 Then ‘Drugi warunek
- Cyfry = 2
- Else ‘Pozostałe przypadki
- Cyfry = 3
- End If
- MsgBox "Jest to wartość " &Cyfry& " cyfrowa."
- End Sub
- Przykład:
- Private Sub Warunek(Num As Long, _
- Optional Cyfry As Long)
- If Num < 10 Then ‘Pierwszy warunek
- Cyfry = 1
- ElseIf Num < 100 Then ‘Drugi warunek
- Cyfry = 2
- Else ‘Pozostałe przypadki
- Cyfry = 3
- End If
- MsgBox "Jest to wartość " &Cyfry& " cyfrowa."
- End Sub
- Kod
- P
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 53
- Instrukcja warunkowa (Select Case)
- Instrukcja: Select Case ... End Select
- Składnia:
- Select Case WyrażenieTest
- [Case lista_wyrażeń_n
- [instrukcje_n]] ...
- [Case Else
- [instrukcje_else]]
- End Select
- Przykład:
- Select Case Num
- Case 1 To 5
- MsgBox "Przedział od 1 do 5"
- Case 6, 7, 8
- MsgBox "Przedział od 6 do 8"
- Case 9 To 10
- MsgBox "Przedział od 9 do 10"
- Case Is > 10
- MsgBox "Wartość większa od 10."
- Case Else
- MsgBox "Poza przedziałem" & _
- " liczb dodatnich."
- End Select
- Kod
- P
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 54
- Instrukcja warunkowa (While)
- Instrukcja warunkowa: While...Wend
- Wykonuje ciąg instrukcji, dopóki warunek posiada wartość True.
- Składnia:
- While warunek
- [instrukcje]
- Wend
- Przykład:
- Private Sub Iter(n,Licz As Long, Licz1 As Long)
- Dim Licz2 As Long
- While Licz < Licz1
- Licz = Licz + n: Licz2 = Licz2 + 1
- Wend
- MsgBox "Liczba iteracji wynosi: " & Licz2
- End Sub
- Instrukcja warunkowa: While...Wend
- Wykonuje ciąg instrukcji, dopóki warunek posiada wartość True.
- Składnia:
- While warunek
- [instrukcje]
- Wend
- Przykład:
- Private Sub Iter(n,Licz As Long, Licz1 As Long)
- Dim Licz2 As Long
- While Licz < Licz1
- Licz = Licz + n: Licz2 = Licz2 + 1
- Wend
- MsgBox "Liczba iteracji wynosi: " & Licz2
- End Sub
- Punkt zapętlenia (While end)
- Warunkowy początek pętli
- Kod
- P
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 55
- Iteracyjna instrukcja (For)
- Składnia:
- For licznik = poczatek To koniec [Step krok]
- [instrukcje]
- [Exit For]
- [instrukcje]
- Next [licznik]
- Przykład:
- Dim Slowo, Znak, Ciag
- For Slowo = 10 To 1 Step -1 'Wykonaj 10 powtórzeń.
- For Znak = 0 To 9 'Wykonaj 10 powtórzeń.
- Ciag = Ciag & Znak 'Dołącz cyfrę do ciągu.
- Next Znak 'Zwiększ licznik.
- Ciag = Ciag & " " 'Dołącz znak spacji.
- Next Slowo
- Składnia:
- For licznik = poczatek To koniec [Step krok]
- [instrukcje]
- [Exit For]
- [instrukcje]
- Next [licznik]
- Przykład:
- Dim Slowo, Znak, Ciag
- For Slowo = 10 To 1 Step -1 'Wykonaj 10 powtórzeń.
- For Znak = 0 To 9 'Wykonaj 10 powtórzeń.
- Ciag = Ciag & Znak 'Dołącz cyfrę do ciągu.
- Next Znak 'Zwiększ licznik.
- Ciag = Ciag & " " 'Dołącz znak spacji.
- Next Slowo
- Kod
- 1 - liczba iteracji koniec poczatek
- krok
- −
- +
- P
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 56
- Iteracyjna instrukcja (For) c.d.
- Sk
- ładnia:
- For
- Each element In grupa
- [instrukcje]
- [Exit For
- ]
- [instrukcje]
- Next
- [element
- ]
- Przyk
- ład:
- Dim Istnieje, MojObiekt, MojaKolekcja
- Istnieje = False
- For Each MojObiekt In MojaKolekcja
- If MojObiekt.Text = "Egzamin" Then
- Istnieje = True
- Exit
- For
- End If
- Next
- Sk
- ładnia:
- For
- Each element In grupa
- [instrukcje]
- [Exit For
- ]
- [instrukcje]
- Next
- [element
- ]
- Przyk
- ład:
- Dim Istnieje, MojObiekt, MojaKolekcja
- Istnieje = False
- For Each MojObiekt In MojaKolekcja
- If MojObiekt.Text = "Egzamin" Then
- Istnieje = True
- Exit
- For
- End If
- Next
- Kod
- Dynamiczne okre
- ślenie liczby iteracji
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 57
- Instrukcja pętli logicznej (Do ... Loop)
- Składnia:
- Do [{While | Until} warunek]
- [instrukcje]
- [Exit Do]
- [instrukcje]
- Loop
- Składnia alternatywna:
- Do
- [instrukcje]
- [Exit Do]
- [instrukcje]
- Loop [{While | Until} warunek]
- Powtarza blok instrukcji tak długo, jak długo warunek
- posiada wartość True.
- Powtarza blok instrukcji tak długo, jak długo warunek
- posiada wartość False.
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 58
- Instrukcja pętli logicznej (Do ... Loop) c.d.
- Przykład:
- Dim Flaga, Licznik
- Flaga = True: Licznik = 0
- Do 'Zewnętrzna pętla.
- Do While Licznik < 20 'Wewnętrzna pętla.
- Licznik = Licznik + 1 'Zwiększaj licznik.
- If Licznik = 10 Then
- Flaga = False
- Exit Do 'Wyjdź z wewnętrznej pętli.
- End If
- Loop
- Loop Until (Flaga = False)
- ‘Wyjdź z zewnętrznej pętli.
- Przykład:
- Dim Flaga, Licznik
- Flaga = True: Licznik = 0
- Do 'Zewnętrzna pętla.
- Do While Licznik < 20 'Wewnętrzna pętla.
- Licznik = Licznik + 1 'Zwiększaj licznik.
- If Licznik = 10 Then
- Flaga = False
- Exit Do 'Wyjdź z wewnętrznej pętli.
- End If
- Loop
- Loop Until (Flaga = False)
- ‘Wyjdź z zewnętrznej pętli.
- Kod
- P
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 59
- Instrukcja p
- ętli logicznej (Do ... Loop) c.d.
- Przyk
- ład (bez zastosowania s
- łów kluczowych „While lub Until”):
- Public Sub TestDanych()
- Dim Odpowiedz As String
- Odpowiedz = InputBox("Wpisz liter
- ę (A-E)")
- Do
- If Odpowiedz = "" Then
- Odpowiedz = InputBox("Nic nie wpisa
- ł
- e
- ś. " & _
- "Wpisz liter
- ę A, B, C, D lub E.")
- ElseIf Len(Odpowiedz) > 1 Then
- Odpowiedz = InputBox("Wpisz tylko jedn
- ą liter
- ę.")
- ElseIf Odpowiedz < "A" Or Odpowiedz > "E" Then
- Odpowiedz = InputBox("Nieprawid
- łowa litera. " & _
- "Wpisz liter
- ę A, B, C, D lub E.")
- Else
- MsgBox "Dzi
- ękuj
- ę. Dane zosta
- ły przyj
- ęte"
- Exit
- D
- o
- End
- I
- f
- Loop
- End Sub
- Przyk
- ład (bez zastosowania s
- łów kluczowych „While lub Until”):
- Public Sub TestDanych()
- Dim Odpowiedz As String
- Odpowiedz = InputBox("Wpisz liter
- ę (A-E)")
- Do
- If Odpowiedz = "" Then
- Odpowiedz = InputBox("Nic nie wpisa
- ł
- e
- ś. " & _
- "Wpisz liter
- ę A, B, C, D lub E.")
- ElseIf Len(Odpowiedz) > 1 Then
- Odpowiedz = InputBox("Wpisz tylko jedn
- ą liter
- ę.")
- ElseIf Odpowiedz < "A" Or Odpowiedz > "E" Then
- Odpowiedz = InputBox("Nieprawid
- łowa litera. " & _
- "Wpisz liter
- ę A, B, C, D lub E.")
- Else
- MsgBox "Dzi
- ękuj
- ę. Dane zosta
- ły przyj
- ęte"
- Exit
- D
- o
- End
- I
- f
- Loop
- End Sub
- Kod
- P
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 60
- Instrukcja skoku do etykiety (GoTo)
- Składnia:
- Goto etykieta
- Podstawowe zasady w stosowaniu instrukcji GoTo:
- 1. Wyrażenie będące etykietą musi występować jako pierwsze w
- wierszu i nie może być poprzedzane znakami odstępów lub
- tabulacji.
- 2. Etykieta musi być zakończona dwukropkiem.
- 3. Etykieta musi rozpoczynać się od litery, lecz w jej tekście mogą
- występować cyfry - razem do 40 znaków nie licząc dwukropka.
- 4. Dla zgodności ze starszymi wersjami języka dopuszczone jest
- stosowanie jako etykiety numeru wiersza programu. W tym
- przypadku nie jest konieczne stawianie za etykietą dwukropka.
- Składnia:
- Goto etykieta
- Podstawowe zasady w stosowaniu instrukcji GoTo:
- 1. Wyrażenie będące etykietą musi występować jako pierwsze w
- wierszu i nie może być poprzedzane znakami odstępów lub
- tabulacji.
- 2. Etykieta musi być zakończona dwukropkiem.
- 3. Etykieta musi rozpoczynać się od litery, lecz w jej tekście mogą
- występować cyfry - razem do 40 znaków nie licząc dwukropka.
- 4. Dla zgodności ze starszymi wersjami języka dopuszczone jest
- stosowanie jako etykiety numeru wiersza programu. W tym
- przypadku nie jest konieczne stawianie za etykietą dwukropka.
- Uwaga ! Częste stosowanie nie jest wskazane.
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 61
- Przyk
- ład zastosowania instrukcji (GoTo)
- Przykład:
- Public Sub SkokDoEtykiety()
- Dim Wartosc
- Wartosc = InputBox("Podaj liczb
- ę specjaln
- ą.")
- If Wartosc = "" Then
- MsgBox "Brak danych."
- Exit Sub
- End
- I
- f
- Select Case Wartosc
- Case 2100
- GoTo WartoscSpecjalna
- Case
- I
- s < 1000
- MsgBox "Wartość mniejsza ni
- ż 1000"
- Case
- I
- s >= 1000
- MsgBox "Wartość wi
- ększa lub równa 1000"
- End Select
- Exit Sub
- WartoscSpecjalna:
- MsgBox "Podano wartość specjaln
- ą."
- End Sub
- Przykład:
- Public Sub SkokDoEtykiety()
- Dim Wartosc
- Wartosc = InputBox("Podaj liczb
- ę specjaln
- ą.")
- If Wartosc = "" Then
- MsgBox "Brak danych."
- Exit Sub
- End
- I
- f
- Select Case Wartosc
- Case 2100
- GoTo WartoscSpecjalna
- Case
- I
- s < 1000
- MsgBox "Wartość mniejsza ni
- ż 1000"
- Case
- I
- s >= 1000
- MsgBox "Wartość wi
- ększa lub równa 1000"
- End Select
- Exit Sub
- WartoscSpecjalna:
- MsgBox "Podano wartość specjaln
- ą."
- End Sub
- Kod
- P
- © Ζ.Ζ. Visual Basic dla Aplikacji Kod VBA - Podstawy 62
- Przykład zastosowania instrukcji (GoTo) c.d.
- Przykład:
- Sub GoToDemo(Numer)
- Dim MyString
- If Numer = 1 Then GoTo Line1 Else GoTo Line2
- ‘==== Początek sekcji etykiet ======
- Line1:
- MyString = "Podałeś liczbę o wartości 1."
- GoTo Line3
- Line2:
- MyString = "Podałeś liczbę o wartości 2."
- Line3:
- MsgBox MyString
- End Sub
- Przykład:
- Sub GoToDemo(Numer)
- Dim MyString
- If Numer = 1 Then GoTo Line1 Else GoTo Line2
- ‘==== Początek sekcji etykiet ======
- Line1:
- MyString = "Podałeś liczbę o wartości 1."
- GoTo Line3
- Line2:
- MyString = "Podałeś liczbę o wartości 2."
- Line3:
- MsgBox MyString
- End Sub
- Kod
- P
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement