Moja Funkcja

Microsoft Excel posiada wiele różnorodnych funkcji wbudowanych z których możemy korzystać. Na tej stronie chciałbym pokazać jak można utworzyć i wykorzystać własną funkcje w arkuszu Excela. Kody przykładowych funkcji są bardzo proste, oczywiście można tworzyć funkcje o wiele bardziej skomplikowane zależy to tylko od inwencji i potrzeb użytkownika.

Kod przykładowej funkcji:

Public Function ObliczPole(Wys, Szer)
 ObliczPole = Wys * Szer ' obliczamy pole prostokąta
End Function

Opis:

  • Public Function ObliczPole(Wys, Szer) - W tej linii kodu deklaruje typ, nazwę i argumenty składające się na procedurę typu Function. Element Public wskazuje, że procedura typu Function jest dostępna dla wszystkich innych procedur we wszystkich modułach. Fragment linii: ObliczPole, jest to nazwa naszej procedury typu Function. Natomiast fragment: (Wys, Szer), jest to lista zmiennych reprezentujących argumenty przekazywane do Funkcji w trakcie jej wywoływania. Jeżeli występuje wiele zmiennych, to należy je rozdzielić przecinkami.

  • ObliczPole = Wys * Szer - Ten kod oblicza pole prostokąta o bokach określonych przez argumenty (zmienne) o nazwach Wys i Szer a obliczoną wartość przypisujemy nazwie naszej funkcji. Kod ten jest bardzo prosty ale może to być dowolny blok instrukcji, które mają być wykonane wewnątrz procedury typu Function.

  • End Function - Kończymy instrukcje Function.

Kroki:

  • Uruchom Microsoft Excel.

  • Z menu Widok wybieramy Paski narzędzi a następnie opcje Visual Basic (jeżeli nie jest zaznaczona).

  • Z paska narzędzi Visual Basic wybieramy przycisk Edytor Visual Basic.

  • W nowo otwartym oknie (Microsoft Visual Basic...) z menu Widok wybieramy kolejną opcję:

    • Eksploator projektu

    • Okno właściwości

Powinny się otworzyć okienka: Okno Eksplorator projektu i Okno Właściwości, dla własnej wygody dopasowujemy rozmiar i położenie okienek (oczywiście punktu tego nie wykonujemy jeżeli okienka były wcześniej otwarte).

  • Z menu Wstaw wybieramy Moduł.

  • W oknie Właściwości zmieniamy nazwę (Name) naszego modułu na np. MojeFunkcje.

  • Ustawiamy kursor myszy w oknie Zeszyt1-MojeFunkcje(Kod programu). Następnie z menu Wstaw wybieramy opcje Procedura.

  • W nowo otwartym oknie Wstaw procedurę:

    • w polu Nazwa piszemy nazwę naszej funkcji w naszym przypadku ObliczPole

    • w polu Typ zaznaczamy opcję Funkcja

    • w polu Zasięg zaznaczamy Publiczny

    • Naciskamy przycisk OK.

  • Dodaj do szablonu funkcji ObliczPole() pomiędzy nawiasy parametry o nazwach: Wys i Szer, oddzielając je przecinkiem.

  • Pomiędzy linie kodu Public Function ObliczPole(Wys, Szer) i End Function wstaw kod:
    ObliczPole = Wys * Szer

  • Zamknij Edytor Visual Basic (lewy Alt+Q) i powróć do arkusza.

Nasza funkcja jest już gotowa, wstawiamy ją do arkusza tak samo jak każdą funkcje wbudowaną.

  • Zaznaczamy dowolną komórkę Arkusza Excela np. H12.

  • Z Menu Wstaw wybieramy opcje Funkcja.

  • W nowo otwartym oknie z pola Kategoria funkcji: wybieramy kategorie Użytkownika, następnie z pola Nazwa funkcji: naszą funkcję ObliczPole i naciskamy OK.

  • W następnym oknie wpisujemy argumenty funkcji, możesz tam wpisać wartości liczbowe lub nazwę komórki z której wartości mają być pobierane np. jako parametr Wys wpisujemy B12 a parametr Szer D12, naciskamy przycisk OK.

  • Wpisz przykładowe wartości do podanych wyżej komórek i przetestuj działanie programu.

Inne proste przykłady funkcji:

0x01 graphic

Public Function ObliczPoleKola(Promien)
 ObliczPoleKola = 3.14 * Promien * Promien ' obliczamy pole koła
End Function

0x01 graphic

Public Function Celsius(FahrenheitaStopnie)
 Celsius = (FahrenheitaStopnie - 32) * 5 / 9 ' w przykładzie funkcja Celsius przelicza stopnie Fahrenheita na stopnie Celsjusza
End Function

0x01 graphic

Public Function Premia(stanowisko, pensja)
 Select Case stanowisko
  Case 1
   Premia = pensja * 0.1
  Case 2, 3
   Premia = pensja * 0.09
  Case 4 To 8
   Premia = pensja * 0.07
  Case Else
   Premia = pensja * 0.05
 End Select' funkcja oblicza wysokość premii.
End Function

0x01 graphic

Public Function KupujAuto(zarobek, cena)
 If 4 * zarobek < 0.8 * cena Then
  KupujAuto = "Nie stać Cię"
 Else
  KupujAuto = "Kupuj"
 End If' sprawdzamy czy stać nas na kupno samochodu.