Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)
Instrukcje
Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w
Darthmouth (USA). Nazwa Basic jest akronimem:
BASIC - Beginner s All-purpose Symbolic Instruction Code
BASIC został zaprojektowany głównie dla własnych potrzeb prostego zapisu programów obliczeń
arytmetycznych, jednak szybko się rozpowszechnił.
Najpopularniejsze obecnie to: Visual Basic oraz Visual Basic dla Aplikacji (VBA)
Struktura procedury w VBA
Sub nazwa()
.......
....... Treść procedury
.......
End Sub
Podstawowe instrukcje VBA w Excelu 97
Instrukcja przypisania (podstawienia)
zmienna = wyrażenie
zmienna - nazwa zmiennej
= operator przypisania
wyrażenie - jego wartość zostanie obliczona i zapamiętana w zmiennej
Przykłady:
suma = 0
i = i + 1
pole = 3.14 * r^2
1
Wprowadzanie danych InputBox
zmienna = InputBox(Prompt, Title, Default, Xpos, Ypos, HelpFile, Context)
Prompt - napis wyświetlany w oknie dialogowym (max 1024 znaki). Może zawierać znaki zmiany
wiersza Chr(10) lub Chr(13)
Title - napis wyświetlany na belce okna jako tytuł okna dialogowego (jeśli pominięty, brak
tytułu)
Default - napis wyświetlany w polu edycji jako domyślny (jeśli pominięty, pole edycji jest puste)
Xpos, Ypos - odległość lewego górnego rogu okna od lewego górnego rogu ekranu (jeśli
pominięte, okno jest centrowane w poziomie i pionie)
HelpFile, Context - potrzebne, gdy korzystamy z programów tworzących pomoc (help)
Jeśli użytkownik kliknie OK lub naciśnie ENTER, funkcja zwraca to, co wpisano w polu edycji
Jeśli użytkownik kliknie ANULUJ, funkcja zwraca łańcuch zerowej długości
Przykład:
r = InputBox( Podaj promień koła )
2
Wyprowadzanie wyników MsgBox
zmienna = MsgBox(Prompt, Buttons, Title, HelpFile, Context)
lub
MsgBox Prompt, Buttons, Title, HelpFile, Context
Prompt - łańcuch (napis) wyświetlany w oknie dialogowym (max 1024 znaki). Może zawierać
znaki zmiany wiersza Chr(10) lub Chr(13)
Title - napis wyświetlany na belce okna jako tytuł okna dialogowego (jeśli pominięty, brak
tytułu)
Buttons - wyrażenie liczbowe - suma wartości specyfikujących numer i typ wyświetlanych
przycisków (jeśli pominięte, przyjmuje się 0)
Funkcja MsgBox użyta w pierwszej z podanych postaci, zwraca informację o wybranym przez
użytkownika przycisku (szczegóły w podanej na wykładzie literaturze).
Przykłady:
MsgBox "Pole koła = " & p & Chr(13) & "Obwód koła = " & ob
MsgBox "Pole koła = " & p & Chr(13) _
& "Obwód koła = " & ob ,, WYNIK
Pozioma kreska (znak podkreślenia) po Chr(13) w drugim przykładzie jest znakiem kontynuacji
(oznacza, że dalszy ciąg tego wiersza jest kontynuowany w następnej linii).
3
Czytanie danych z arkusza i pisanie do arkusza Cells
Czytanie:
zmienna = Cells (wiersz, kolumna)
Pisanie:
Cells (wiersz, kolumna) = wyrażenie
wiersz - numer wiersza
kolumna - numer kolumny (kolumna A ma nr 1, B - 2, C - 3 itd.)
Przykłady:
Odczyt liczby z komórki B1 i zapamiętanie jej w zmiennej o nazwie n
n = Cells(1,2)
Zapis tekstu suma= oraz wartości pamiętanej w zmiennej o nazwie suma do komórki B4
Cells(4,2)= suma= & suma
4
Instrukcje warunkowe IF
a) wierszowa instrukcja IF
If warunek Then instrukcje
warunek - wyrażenie o wartości typu logicznego
instrukcje - jedna lub kilka instrukcji oddzielonych dwukropkiem
If warunek Then instrukcje1 Else instrukcje2
Przykład:
If delta = 0 Then x = -b/(2*a)
b) blokowa instrukcja IF
If warunek Then
Instrukcje
End If
5
If warunek Then
instrukcje1
Else
instrukcje2
End If
IF warunek Then
instrukcje1
ElseIf warunek Then
instrukcje2
............
Else
instrukcje3
End If
Przykład:
If delta = 0 Then
x = -b/(2*a)
End If
6
Instrukcja wyboru Select Case
Select Case wyrażenie
Case wartość1
instrukcje1
Case wartość2
instrukcje2
............
End Select
wyrażenie - numeryczne lub znakowe
wartość1, wartość2 - jedna lub kilka oddzielonych przecinkami pozycji, każda z nich
może mieć postać:
wyrażenie
wyrażenie To wyrażenie
Is operator_porównania wyrażenie
instrukcje1 - wykonywane, gdy wyrażenie jest równe wartości1
instrukcje2 - wykonywane, gdy wyrażenie jest równe wartości2
7
Select Case wyrażenie
Case wartość1
instrukcje1
Case wartość2
instrukcje2
.............
Case Else
Instrukcje
End Select
Instrukcje po Case Else są wykonywane, gdy wyrażenie nie jest równe żadnej z
podanych wcześniej wartości (tzn. wartość1, wartość2 itd.).
Instrukcje pętli Do - pętle o nieokreślonej liczbie powtórzeń
-
a) prosta pętla Do instrukcja lub grupa instrukcji są powtarzane do momentu wykonania
instrukcji Exit Do, powodującej wyjście z pętli.
Do
instrukcje
.......... węwnątrz pętli powinna wystąpić
.......... instrukcja Exit Do
Loop
8
b) złożone pętle Do - uzależniają powtarzanie grupy instrukcji od spełnienia (lub niespełnienia)
wskazanego warunku powtarzają grupę instrukcji tak długo, jak długo warunek ma wartość
PRAWDA (pętla While) lub FAASZ (pętla Until)
Warunek może być sprawdzany:
- przed wykonaniem pętli
- po wykonaniu pętli
a) pętla Do typu While (sprawdzanie warunku przed wejściem do pętli)
Do While warunek
instrukcje
...........
Loop
b) pętla Do typu While (sprawdzanie warunku po wykonaniu pętli)
Do
instrukcje
..........
Loop While warunek
9
c) pętla Do typu Until (sprawdzanie warunku przed wejściem do pętli)
Do Until warunek
instrukcje
...........
Loop
d) pętla Do typu Until (sprawdzanie warunku po wykonaniu pętli)
Do
instrukcje
..........
Loop Until warunek
10
Instrukcja pętli For - pętla o określonej liczbie powtórzeń
Postać instrukcji:
For licznik = początek To koniec
instrukcje
Next licznik
lub
For licznik = początek To koniec Step krok
instrukcje
Next licznik
Wewnątrz pętli może wystąpić instrukcja Exit For powodująca wyjście z pętli.
licznik - zmienna numeryczna, pełni rolę licznika pętli
początek - początkowa wartość zmiennej licznik
koniec - końcowa wartość zmiennej licznik
krok - może być dodatni lub ujemny, jeśli nie został podany, przyjmuje się wartość 1
Podczas realizacji pętli wartość zmiennej licznik zostaje zwiększona o krok
krok e" 0 pętla wykona się, jeśli licznik d" koniec
krok < 0 pętla wykona się, jeśli licznik e" koniec
11
Przykłady programów:
1. Obliczanie pola i obwodu koła
Sub PoleKoła()
Dim r As Single, p As Single, ob As Single
Const pi = 3.1415
r = InputBox("Podaj promień koła", "POLE KOAA")
p = pi * r ^ 2: ob = 2 * pi * r
MsgBox "Pole koła = " & p & Chr(13) _
& "Obwód koła = " & ob
End Sub
12
2. Rozwiązywanie równania kwadratowego
Sub Trójmian()
Dim a As Single, b As Single, c As Single
Dim delta As Single, x1 As Single, x2 As Single
a = InputBox("Podaj współczynnik a", "TRÓJMIAN")
b = InputBox("Podaj współczynnik b", "TRÓJMIAN")
c = InputBox("Podaj współczynnik c", "TRÓJMIAN")
delta = b ^ 2 - 4 * a * c
If delta < 0 Then
MsgBox "Brak pierwiastków rzeczywistych", , "ROZWIZANIE"
ElseIf delta = 0 Then
x1 = -b / (2 * a)
MsgBox "x= " & x1, , "ROZWIZANIE"
Else
x1 = (-b - Sqr(delta)) / (2 * a)
x2 = (-b + Sqr(delta)) / (2 * a)
MsgBox "x1=" & x1 & Chr(13) & "x2=" & x2, , "ROZWIZANIE"
End If
End Sub
13
Rozwiązywanie równania kwadratowego c.d.
14
3. Obliczanie sumy wyrazów ciągu
Sub SumaCiągu()
Dim suma As Single, a(1 To 100) As Single
Dim i, n As Integer
n = Cells(1, 2) 'czytaj n z "B1"
For i = 1 To n
a(i) = Cells(i, 1) 'czytaj a(i) z "A1" do "An"
Next
suma = 0 'oblicz
For i = 1 To n ' sumę
suma = suma + a(i)
Next
Cells(n, 2) = "suma=" & suma 'wpisz wynik do "Bn"
End Sub
15
Wyszukiwarka
Podobne podstrony:
Instrukcja VBAinstrukcja prezentacja2instrukcja bhp przy obsludze euro grillaDS1000PL InstrukcjaBlaupunkt CR5WH Alarm Clock Radio instrukcja EN i PLInstrukcja do cwiczenia 4 Pomiary oscyloskopoweInstrukcja F (2010)Instrukcja Programowania Zelio Logic 2 wersja polskaInstrukcja kociol MODERATOR 75 200kW plInstrukcje 2więcej podobnych podstron