logo

Aktualności


Dzisiaj jest: Sobota
20 Kwietnia 2024
Imieniny obchodzą
Agnieszka, Amalia, Czesław, Czech,
Czechasz, Czechoń, Florencjusz,
Florenty, Nawoj, Sulpicjusz, Szymon,
Teodor

Do końca roku zostało 256 dni.
Zodiak: Baran

Kalkulator

profesjonalny

Drukuj Email

PODSTAWY VBA

 

  • Wstęp
  • Nagrywanie makr
  • Edytor Visual Basic
  • Typy danych
  • Polecenie If... Then... Else...
  • Polecenie Select Case
  • Pętle warunkowe Do... Loop
  • Pętla warunkowa For... Next
  • Pętla warunkowa For Each... Next
  • Zmienne, Stałe, Tablice
  • Operatory arytmetyczne, łączące, porównania i logiczne
  • Funkcja MsgBox
  • Funkcja InputBox




  • Wstęp

     

    Visual Basic dla Aplikacji (VBA) to język programowania dzięki któremu można wykorzystać w pełni (często ukryte) możliwości aplikacji wchodzących w skład pakietu Microsoft Office lub innych aplikacji, w których ten język programowania jest wykorzystywany np. AutoCAD.

    Warto poznać ten język programowania z kilku powodów:

    • VBA jest językiem programowania łatwo dostępnym - wystarczy posiadać Worda, Accessa czy naszego Excela
    • Jest popularny i coraz częściej wykorzystywany przez większą liczbę aplikacji
    • Łatwo można nauczyć się programować w innych językach znając podstawy VBA
    • Gotowe efekty pracy uzyskuje się nie zagłębiając się zbytnio w środowisko VBA

     



    Powrót do menu





    Nagrywanie makr

     

    Jeżeli jakieś czynności są często powtarzane w programie Microsoft Excel, można je zautomatyzować nagrywając/rejestrując makro.
    Makro jest zbiorem poleceń i funkcji, które są przechowywane w module Visual Basic i mogą być uruchomione zawsze, gdy zachodzi potrzeba wykonania danych czynności. Oczywiście odpowiednie makro należy wcześniej nagrać.
    Do skorzystania z narzędzia do tworzenia makr tj. Rejestratora makr nie potrzeba posiadać praktycznie żadnej wiedzy z zakresu VBA.

    Podsumowując:

    • Makro to napisany lub zarejestrowany program przechowujący szereg poleceń Microsoft Excel, którego można póĽniej użyć jako pojedynczego polecenia.

    • Makra są przeznaczone do automatyzacji złożonych zadań i zmniejszania liczby kroków wymaganych do wykonania często powtarzających się zadań.

    • Makra są rejestrowane w języku programowania Visual Basic for Applications oraz można je także pisać bezpośrednio korzystając z edytora Visual Basic.



    Powrót do menu





    Edytor Visual Basic

     

    Edytor Visual Basic to środowisko, w którym można edytować zarejestrowane makra oraz pisać nowe makra i programy w języku VBA.
    Edytor Visual Basic to właściwy warsztat naszej pracy, w którym jesteśmy w stanie pisać kody programów.

    Aby uruchomić Edytor Visual Basic możemy:

    • Z menu Narzędzia można wybrać opcję Makro a następnie Edytor Visual Basic
    • Można także użyć kombinacji klawiszy skrótu: Alt+F11
    • Jeżeli jest widoczny pasek narzędzi Visual Basic, to wybieramy z niego przycisk Edytor Visual Basic

     



    Powrót do menu





    Typy danych

     

     

    • Byte - liczby całkowite od 0 do 255
    • Boolean - wartości logiczne: True (prawda) lub False (fałsz)
    • Integer - liczby całkowite od -32 768 do 32 767
    • Long - liczby całkowite od -2 147 483 648 do 2 147 483 647
    • Single - liczby zmiennoprzecinkowe pojedynczej precyzji: od -3,402823E38 do -1,401298E-45 dla wartości ujemnych oraz od 1,401298E-45 do 3,402823E38 dla wartości dodatnich
    • Double - liczby zmiennoprzecinkowe podwójnej precyzji: od -1,79769313486231E308 do -4,94065645841247E-324 dla wartości ujemnych oraz od 4,94065645841247E-324 do 1,79769313486232E308 dla wartości dodatnich
    • Currency - duża precyzyjna liczba; może zawierać 19 cyfr, w tym cztery na prawo od przecinka. Wartości z przedziału: od -922 337 203 685 477,5808 do 922 337 203 685 477,5807
    • Decimal - bardzo duża, bardzo precyzyjna liczba; może zawierać 29 cyfr oraz do 28 miejsc na prawo od przecinka. Wartości z przedziału: +/-79 228 162 514 264 337 593 543 950 335 bez przecinka dziesiętnego oraz +/-7,9228162514264337593543950335 z 28 miejscami po przecinku. Najmniejsza wartość niezerowa to: +/-0,0000000000000000000000000001
    • Date - daty i godziny: od 1 stycznia 100 do 31 grudnia 9999
    • Object - dowolne odesłanie do wartości typu Object
    • String - tekst o zmiennej długości od 0 do 2 miliardów znaków
    • String - tekst o stałej długości od 1 do 65 400 znaków
    • Variant - dowolna wartość liczbowa w zakresie określonym dla typu Double
    • Variant - taki sam zakres co dla zmiennej typu String zmiennej długości

    Powrót do menu





    Polecenie If... Then... Else...

     

    If... Then... Else jest to prawdopodobnie najczęściej stosowana instrukcja warunkowa. Polecenie If... Then... Else warunkowo wykonuje blok instrukcji: jeśli pewien warunek jest spełniony (ma wartość True), należy wykonać pewien zakres poleceń, w przeciwnym przypadku, gdy warunek jest niespełniony (ma wartość False) program powinien wykonać inny blok poleceń.

    Instrukcja ta przeważnie występuje w poniższej postaci:

    If warunek Then
    [blok kodu wykonywany w przypadku, gdy warunek ma wartość TRUE]
    Else
    [blok kodu wykonywany w przypadku, gdy warunek ma wartość FALSE]
    End If



    Powrót do menu





    Polecenie Select Case

     

    Instrukcja Select Case sprawdza wyrażenie tylko raz i w zależności od jego wartości, wykonuje określony blok instrukcji.
    Każda instrukcja Case w strukturze Select Case określa jedną z potencjalnych wartości, którą może zwrócić wyrażenie. Gdy wartość wyrażenia jest taka sama jak wartość określona przez instrukcje Case wykonywany jest kod związany z tą instrukcją Case.
    Jeżeli wartość wyrażenia nie odpowiada żadnej wartości określonej przez instrukcje Case, to wtedy wykonywany jest blok kodu powiązany z instrukcją Case Else.
    Polecenie Select Case może zawierać wiele instrukcji Case, jednak może zawierać tylko jedną instrukcje Case Else.

    Poniżej przedstawiona została podstawowa forma instrukcji Select Case:

    Select Case Wyrażenie
    Case Wartość1
    [blok kodu wykonywany, jeżeli Wyrażenie równa się Wartość1]
    Case Wartość2
    [blok kodu wykonywany, jeżeli Wyrażenie równa się Wartość2]
    ... Case Else
    [blok kodu wykonywany, jeżeli Wyrażenie nie równa się żadnej z wartości określonej przez instrukcje Case]
    End Select

     

    Powrót do menu





    Pętle warunkowe Do... Loop

     

    Bardzo wygodnym narzędziem w programowaniu są pętle. Służą one do wielokrotnego wykonywania danego bloku kodu. Pętle można użyć do obliczeń matematycznych, wyodrębnienia fragmentów danych lub do wykonania powtarzających się operacji na wielu obiektach.
    Instrukcja Do...Loop używana jest, gdy nie wiemy ile razy pętla ma być wykonana. Jest to pętla warunkowa, w której kluczową rolę odgrywa warunek. Blok kodu umieszczony wewnątrz pętli jest powtarzany tak długo, jak długo pewien warunek jest spełniany (ma wartość True) lub do momentu, gdy ten warunek zostanie spełniony (uzyska wartość True).

    Poniżej zostały przedstawione odmiany pętli warunkowej Do...Loop:

    • Do...Loop - wielokrotnie wykonuje blok kodu tak długo, aż instrukcja warunkowa umieszczona wewnątrz tej pętli wykona instrukcję Exit Do. W tym przypadku użycie instrukcji Exit Do jest praktycznie obowiązkowe, gdyż w innym przypadku pętla byłaby wykonywana w nieskończoność.
    • Do While...Loop - rozpoczyna i powtarza blok kodu umieszczony wewnątrz pętli, jeżeli jest spełniony warunek umieszczony na początku tej pętli.
    • Do...Loop While - wykonuje blok kodu umieszczony wewnątrz pętli jeden raz i powtarza go tak długo, jak długo jest spełniony warunek umieszczony na końcu pętli.
    • Do Until...Loop - rozpoczyna i powtarza blok kodu umieszczony wewnątrz pętli, dopóki nie zostanie spełniony warunek umieszczony na początku tej pętli.
    • Do...Loop Until - wykonuje blok kodu umieszczony wewnątrz pętli jeden raz i powtarza go do czasu, gdy zostanie spełniony warunek umieszczony na końcu pętli.

     

    Powrót do menu





    Pętla warunkowa For... Next

     

    Pętla For... Next powtarza pewien blok instrukcji określoną ilość razy. Pętlę tą stosuje się, jeżeli z góry wiadomo ile razy pętla ma być wykonana.

    Podstawowa składnia pętli:

    For Licznik = Początek To Koniec Step Krok
    [blok instrukcji]
    Next Licznik



    Powrót do menu





    Pętla warunkowa For Each... Next

     

    Odmianą pętli For... Next jest instrukcja For Each... Next. Pętla ta służy do wykonywania operacji na obiektach kolekcji - powtarza grupę instrukcji dla każdego elementu tablicy lub obiektu w kolekcji (np. przeszukiwanie komórek w arkuszu Excela w celu znalezienia poszukiwanej wartości).

    Podstawowa składnia pętli For Each... Next:

    For Each element In kolekcja
    [blok kodu wykonywany dla każdego elementu kolekcji]
    Next element



    Powrót do menu





    Zmienne, Stałe, Tablice

     

    Zmienna - posiadające nazwę miejsce w pamięci do przechowywania danych, które mogą ulegać zmianom w trakcie wykonywania programu. Każda zmienna powinna posiadać unikatową nazwę,za pomocą której jest identyfikowana w obrębie danego zakresu. Typ danych może być określony, ale nie jest to warunek konieczny.
    Nazwy zmiennych muszą zaczynać się na literę oraz muszą być unikatowe w obrębie swego zakresu i nie mogą być dłuższe niż 255 znaków, a także nie mogą zawierać kropki ani znaku deklarującego typ.
    Sposoby deklaracji zmiennych:
    Dim Zmienna1
    Dim Zmienna2 As Long

    Stała - to element o nadanej nazwie, który zachowuje stałą wartość przez cały czas działania programu. Stałych można używać w dowolnym miejscu kodu programu zamiast ich rzeczywistych wartości.
    Sposoby deklaracji stałych:
    Const Stała1 = 100
    Const Stała2 As Long = 200

    Tablica - to zbiór kolejno indeksowanych elementów posiadający ten sam wewnętrzny typ danych. Każdy element tablicy posiada przypisany unikatowy numer indeksu. Dokonanie zmian dla jednego elementu w tablicy, nie ma wpływu na pozostałe jej elementy.
    Sposoby deklaracji tablicy:
    Dim MiesiacMaj(31)
    Dim MiesiacMaj(1 To 31)
    Dim MiesiacMaj(1 To 31) As String

    Powrót do menu





    Operatory arytmetyczne, łączące, porównania i logiczne

     

    Operatory arytmetyczne:

    • ^ potęgowanie
    • * mnożenie
    • / dzielenie - wykonuje dzielenie i zwraca wynik w postaci zmiennoprzecinkowej
    • \ dzielenie - wykonuje dzielenie i zwraca wynik w postaci liczby całkowitej
    • Mod - Modulo - wykonuje dzielenie i zwraca tylko resztę z przeprowadzonego dzielenia
    • + dodawanie
    • - odejmowanie

    Operatory łączące:

    • & - operator konkatenacji łączy dwa łańcuchy znaków w jeden

    Operatory porównania:

    • < mniejsze niż
    • <= mniejsze lub równe
    • > większe niż
    • >= większe lub równe
    • = równe
    • <> nierówne
    • Like - operator służący do porównywania łańcucha znaków ze wzorcem
    • Is - operator służący do sprawdzania czy dwa elementy (zmienne obiektowe) odwołują się do tego samego obiektu

    Operatory logiczne:

    • And - zwracana jest wartość True w przypadku, gdy obydwa podwyrażenia mają wartość True
    • Or - zwracana jest wartość True w przypadku, gdy przynajmniej jedno z podwyrażeń ma wartość True

    Powrót do menu





    Funkcja MsgBox

     

    Funkcja MsgBox wyświetla okno dialogowe z jednym lub więcej przyciskami i czeka na reakcję użytkownika programu, po czym zwraca wartość typu Integer, która określa naciśnięty przycisk.

    Składnia funkcji MsgBox jest następująca:

    MsgBox(prompt[, buttons] [, title] [, helpfile, context])

    W składni funkcji MsgBox argumenty z nawiasów prostokątnych są nieobowiązkowe. Dla funkcji MsgBox jedynym argumentem, który należy podać jest tekst wyświetlany w oknie (argument prompt). Nawiasów okrągłych używamy w przypadku, gdy funkcja jest przypisana do zmiennej.



    Powrót do menu





    Funkcja InputBox

     

    W przypadku, gdy chcemy utworzyć proste okno do pobierania danych od użytkownika, możemy użyć funkcji InputBox. Za pomocą tej funkcji użytkownik może przekazać programowi dowolną wartość wprowadzoną z klawiatury.

    Funkcja InputBox wyświetla okno dialogowe z polem tekstowym i dwoma przyciskami, po czym zwraca typ danych String będący zawartością pola tekstowego. W przypadku, gdy oczekujemy wprowadzenia cyfr używanych do obliczeń, to należy dokonać konwersji za pomocą funkcji Val. Kliknięcie przycisku OK lub naciśnięcie klawisza ENTER powoduje, że funkcja InputBox zwraca zawartość pola tekstowego oraz zwraca ciąg o zerowej długości (""), jeżeli zostanie kliknięty przycisk ANULUJ.

    Składnia funkcji InputBox jest następująca:

    InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])

    W składni funkcji InputBox argumenty znajdujące się w nawiasach prostokątnych są nieobowiązkowe. Jedynym argumentem wymaganym dla funkcji InputBox jest tekst wyświetlany w oknie (argument prompt).



    Powrót do menu





     

    Gościmy

    Witrynę przegląda teraz 7 gości 
    342423
    DzisiajDzisiaj45
    WczorajWczoraj111
    W tym tygodniuW tym tygodniu495
    W tym miesiącuW tym miesiącu1844
    Wszystkie wizytyWszystkie wizyty342423
    Twoje IP...18.226.177.223

    excel szkolenia programy makra programowanie specjalista marczak program poziom firma excela podstawowy online excelu zaawansowany 2007 wyszukiwarka zadania zadanie kontakt średniozaawansowany kalkulacją zadań programy w excelu marczak@excel zamówień kurs nagrywanie prezentacja zlecenie współpraca zamówienie programy dla firm szkolenia łódź programy dla przedsiębiorstw specjalista excel paweł marczak specjalista excel specjalista paweł marczak podstawowe transportowych 2007/2010 oprogramowanie zamówienia cennik ofertowania zaawansowane raportowania pobierania raportów program w excelu programy w excelu na zamówienie programy w excelu na zlecenie szkolenie excel szkolenie vba szkolenia excel szkolenia vba szkolenie z excela szkolenie z vba szkolenia z excela szkolenia z vba program w excelu na zamówienie program w excelu na zlecenie szkoleniowe ofertowanie raportowanie transport excel makra makra excel makra w excelu programy excel excel programy transportowe raport oferta dowóz cenniki program excel excel program

    Powered by RafCloud