Kurs VBA - Procedury VBA w Excelu cz III

Page 1

Poradnik VBA: Procedury VBA W Excelu


Poradnik VBA: Procedury


Szanowni Państwo,

Jeżeli

chcecie

poznać

procedury

jakie

stosowane w VBA w Excelu zapraszamy do lektury naszej prezentacji.

Więcej informacji o VBA dostępnych na stronie www.cognity.pl


Poradnik VBA: Procedura typu Function Procedura typu Function

Procedura typu Function, zwana również funkcją, wykonuje określone obliczenia oraz zwraca pojedynczą wartość lub tablicę. Mogą być stosowane w modułach i formułach arkuszy.

Kurs VBA


Poradnik VBA: Procedura typu Function Procedura typu Function c.d. Składnia deklaracji:

[Private | Public| Friend] [Static] Function NazwaFunkcji ([lista_argumentów]) [As typ] [instrukcje procedury]

Kurs VBA


Poradnik VBA: Procedura typu Function Procedura typu Function c.d. Składnia deklaracji:

[NazwaFunkcji=wyra żenie] [Exit Function] ’natychmiastowe wyjście z funkcji [instrukcje procedury] [NazwaFunkcji=wyra żenie] End Function ’koniec procedury Kurs Excel


Poradnik VBA: Zasięg procedury typu Function Zasięg procedury typu Function

Domyślnie wszystkie procedury typu Function sa publiczne, tzn. są dostępne dla innych procedur z innych modułów.

Kurs VBA


Poradnik VBA: Poradnik VBA: Zasięg procedury typu Function Zasięg procedury typu Function c.d.

Dostępność procedury określona jest przez słowa kluczowe: [Private|Public| Friend]-Private oznacza, ze procedura dostępna jest tylko dla procedur z tego samego modułu. Kurs VBA


Poradnik VBA: Zasięg procedury typu Function Zasięg procedury typu Function c.d.

Ponadto nie jest widoczna w oknie dialogowym Wstawianie funkcji, Public (wartość domyślna) – dostępna dla procedur z innych modułów Friend (tylko w modulach klasy) Kurs Excel


Poradnik VBA: Zasięg procedury typu Function Zasięg procedury typu Function c.d.

Wskazuje, że procedura jest widoczna w projekcie, a nie jest widoczna dla kontrolera instalacji obiektu.

Kurs VBA


Poradnik VBA: Wartości zwracane Wartości zwracane

Wartość zwracana przez funkcję należy przypisać nazwie funkcji (w trakcie procedury można wielokrotnie dokonywać takiej operacji). Domyślnym typem zwracanym przez funkcję jest typ Variant. Kurs VBA


Poradnik VBA: Przekazywanie argumentów Przekazywanie argumentów

Argumentami mogą być zmienne, stałe literały lub wyrażenia. Argumenty przekazywane do procedury zawarte są w części [Lista_argumentów] . Poszczególne oddzielają od siebie przecinki. Kurs Excel


Poradnik VBA: Przekazywanie argumentów Przekazywanie argumentów c.d. Składnia argumentu lista_argumentów oraz jej części:

[Optional][ByVal| ByRef][ParamArray] nazwa_zmiennej [()] [As typ][=wartość domyślna]

Kurs VBA


Poradnik VBA: Przekazywanie argumentów Przekazywanie argumentów c.d. Gdzie:

Wskazuje, argument nie jest wymagany

[Optional] [ByVal]

Wskazuje, ze argument jest przekazywany przez wartość

Kurs VBA


Poradnik VBA: Przekazywanie argumentów Przekazywanie argumentów c.d. [ByRef]

[ParamaArray]

Wskazuje, że argument jest przekazywany przez referencję (domyślny sposób) Używany jako ostatni argument w lista_argumentów, który wskazuje, że jest to opcjonalna tablica elementów typu Variant.

Kurs Excel


Poradnik VBA: Przekazywanie argumentów Przekazywanie argumentów c.d. [ParamaArray]

Pozwala na przekazywanie dowolnej liczby argumentów. Nie może być używana z ByVal, ByRef lub Optional.

Kurs VBA


Poradnik VBA: Przekazywanie argumentów Przekazywanie argumentów c.d. Przykłady:

Function funkcja() ’bez argumentów … End function Function funkcja2(liczba1, liczba2) As Long ’stała określona liczba argumentów (maksymalnie do 60) … End Function

Kurs VBA


Poradnik VBA: Przekazywanie argumentów Przekazywanie argumentów c.d. Przykłady:

Function funkcja3(tablica) As Double … End Function Function funkcja4(ParamaArray lista() As Variant) As Double ’nieokreślona liczba argumentów … End Function

Kurs Excel


Poradnik VBA: Przekazywanie argumentów Przekazywanie argumentów c.d. Przykłady:

Fubction funkcja59zakres As Variant, Optional komorka AsVariant=False) As Double ’argumenty wymagane i opcjonalne … End Function Kurs VBA


Poradnik VBA: Przekazywanie argumentów Przekazywanie argumentów c.d.

Domyślny typ argumentu to Variant. Tylko dla argumentów Optional można określić stałą jako wartość domyślną. Do sprawdzenia czy argument Optional został przekazany do procedury, można wykorzystać funkcje IsMissing. Kurs VBA


Poradnik VBA: Przekazywanie argumentów Przekazywanie argumentów c.d.

Jeżeli argument jest typu Object, to wartość domyślna nie może mieć wartości Nothing.

Kurs Excel


Poradnik VBA: Wywoływanie procedury typu Function Wywoływanie procedury typu Function

Procedury typu Function można wywołać w formule arkuszy, z poziomu okna Immediate oraz innych procedur.

Kurs VBA


Poradnik VBA: Wywoływanie procedury typu Function Wywoływanie procedury w tym samym module Przykład:

Wynik=nazwa_procedu ry (argument1, argument2,… argument-n) Wynik=Application.Run (”nazwa_procedury”, argument1, argument2, …argument-n) Kurs VBA


Poradnik VBA: Wywoływanie procedury typu Function Wywoływanie procedury w tym samym module c.d. Przykład:

Wynik=ObliczV(1) Wynik=Application.Ru n (”ObliczV”,2)

Kurs Excel


Poradnik VBA: Wywoływanie procedury umieszczonej w innym module Wywoływanie procedury umieszczonej w innym module Przykład:

Wynik=nazwa_modulu .nazwa_procedury (argument1, argument2, … argument-n)

Kurs VBA


Poradnik VBA: Wywoływanie procedury umieszczonej w innym module Wywoływanie procedury umieszczonej w innym module c.d. Przykład:

Wynik=Application. Run (’nazwa_modulu.na zwa_procedury”, argument1, argument2,… argument-n)

Kurs VBA


Poradnik VBA: Wywoływanie procedury umieszczonej w innym module Wywoływanie procedury umieszczonej w innym module c.d. Przykład:

Wynik=Module.Obli czV(10) Wynik=Application. Run (’’Module.ObliczV”, 20)

Kurs Excel


Poradnik VBA: Wywoływanie procedury umieszczonej w innym skoroszycie Wywoływanie procedury umieszczonej w innym skoroszycie Przykład:

Wynik=nazwa_proj ektu.nazwa_modul u.nazwa procedury (argument1, argument2, … argument-n)

Kurs VBA


Poradnik VBA: Wywoływanie procedury umieszczonej w innym skoroszycie Wywoływanie procedury umieszczonej w innym skoroszycie c.d. Przykład:

Wynik=Application. Run(”nazwa_projek tu.nazwa_modulu, nazwa_procedury”, argument1, argument2,...argum ent-n)

Kurs VBA


Poradnik VBA: Wywoływanie procedury umieszczonej w innym skoroszycie Wywoływanie procedury umieszczonej w innym skoroszycie c.d. Przykład:

Wynik=Projekt.Mod ule1.ObliczV(100) ’konieczność utworzenia odwołania do Projektu (edytor VBE-menu Toolspolecenie References…)

Kurs Excel


Poradnik VBA: Wywoływanie procedury umieszczonej w innym skoroszycie Wywoływanie procedury umieszczonej w innym skoroszycie c.d. Przykład:

Wynik=Application. Run (” ’D:\test.xls’! Module1.ObliczV’’, 200) ’brak konieczności tworzenia odwołania do Projektu1(menu Tools-polecenie References…) Kurs VBA


Poradnik VBA: Wywoływanie procedury umieszczonej w innym skoroszycie Procedury (funkcje) bibliotek DLL

Korzystanie z procedur i funkcji zadeklarowanych w zewnętrznych bibliotekach możliwe jest po uprzedniej deklaracji za pomocą instrukcji Declare.

Kurs VBA


Poradnik VBA: Wywoływanie procedury umieszczonej w innym skoroszycie Procedury (funkcje) bibliotek DLL c.d. Składnia1:

Instrukcja musi być umieszczona w części deklaracji każdego modułu. [Private|Public] Declare Sub NazwaProcedury Lib ”NazwaBiblioteki”[Alias ”NazwaAlias”][([lista argumentów])][As typ]

Kurs Excel


Poradnik VBA: Wywoływanie procedury umieszczonej w innym skoroszycie Procedury (funkcje) bibliotek DLL c.d. Składnia2:

[Private|Public] Declare Function NazwaFunkcji Lib ”Nazwabiblioteki” [Alias ”NazwAlias”] [([lista argumentów])] [As typ]

Kurs VBA


Poradnik VBA: Wywoływanie procedury umieszczonej w innym skoroszycie Procedury (funkcje) bibliotek DLL c.d. Składnia argumentu lista_argumentu oraz jej częśći:

[Optional][ByVal] | ByRef][ParamArray] nazwa_zmiennej [()] [As typ]

Kurs Excel


Poradnik VBA: Wywoływanie procedury umieszczonej w innym skoroszycie Procedury (funkcje) bibliotek DLL c.d. Przykład:

Private Declare Sub MessagBeep Lib ”User32” (ByVa1 N As Integer) Call MessageBeep(0) ’wygenerowanie dźwięku.

Kurs Excel


Kurs VBA Zainteresowanych poszerzaniem wiedzy z VBA zapraszamy na: • Kurs VBA Podstawowy • Kurs VBA Zaawansowany • Kurs VBA Przekrojowy

Kurs VBA


Kurs VBA Tematyka VBA w Excelu poruszana jest r贸wnie偶 na Bloga Strefa Wiedzy Cognity.

Kurs VBA


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.