Funkcje w Excel VBA 7


1. Wprowadzenie do funkcji w Excel VBA

Doszedłeś już do rozdziału o funkcjach – Gratulacje, tak trzymaj !!! W VBA mamy do dyspozycji szereg przydatnych funkcji. To właśnie za ich pomocą nasze programy będą działały we właściwy sposób. Za ich pomocą będziemy realizować działania matematyczne, manipulować danymi tekstowymi oraz datami. Do funkcji w VBA odwołujemy się w standardowy sposób poprzez wpisanie nazwy funkcji, argumentów oraz nawiasów: NAZWA_FUNKCJI(argumenty). Funkcje VBA możemy podzielić na następujące grupy:

Za pomocą funkcji Arkusza Excel możemy odwołać się do dowolnej funkcji używanej w Arkuszu. Nazwy funkcji wyświetlają się nam w języku angielskim. Do funkcji Arkusza Excel odwołujemy się po wpisaniu instrukcji Application.WorksheetFunction.NAZWA_FUNKCJI.

Kurs Excel VBA - Funkcje VBA

Kurs Excel VBA – Funkcje VBA

Funkcje VBA, podobnie jak w arkuszu danych możemy ze sobą łączyć używając następującej składni: funkcja_2(funkcja_1(argumenty funkcji_1)). Tak więc wynik funkcji_1 jest jednocześnie argumentem funkcji_2. Są to tzw. funkcje zagnieżdżone. Wszelkie potrzebne nam funkcje poznamy w kolejnych rozdziałach naszego kursu.

2. Przykład wykorzystania funkcji

Na początek spróbujmy napisać krótkie makro z wykorzystaniem InputBox i MsgBox, które wyciągnie pierwiastek kwadratowy z wprowadzonej przez nas wartości. Stosujemy w tym celu funkcję Sqr().

W kolejnym kroku zaokrąglijmy naszą wartość do 2 miejsc po przecinku stosując w tym celu funkcję Round(). Nawiasy obydwu funkcji oczywiście muszą być zamknięte:

W kolejnym przykładzie skorzystamy z funkcji znakowej. Podobnie jak w poprzednim przykładzie wykorzystajmy elementy InputBox i MsgBox. Naszym celem jest przerobienie wprowadzonej danej tekstowej na tekst pisany wielkimi literami. Wykorzystamy w tym celu funkcję Ucase().

W kolejnych rozdziałach kursu poznamy po kolei wszystkie poznane nam kategorie funkcji w Excel VBA.

3. Zadania (Wynik możesz zapisać w komentarzu)

3.1 Przerób funkcję z punktu 2. Spraw, by wynik działania wyświetlił się w komórce B2 Arkusza3.


Dodaj komentarz

Twój adres email nie zostanie opublikowany.

7 komentarzy do “Funkcje w Excel VBA

  • Kuba

    Sub Zadanie3_1()

    Dim intValue As Integer
    intValue = InputBox(“Wprowadź wartość”)
    Worksheets(“Arkusz3”).Range(“B2”) = Sqr(intValue)

    End Sub

  • GreG

    W przykładzie 2 powinno być
    Round(Sqr(intliczba), 2)
    jeśli chcemy zaokrąglić do 2 miejsc po przecinku 🙂

    Ogólnie kurs mi się bardzo podoba, na tym etapie dużo nie można wykorzystać w praktyce, ale mam nadzieje że zbieram puzzle żeby potem układać z nich duuuużo większy obraz 🙂

    • Tomasz Kenig Autor wpisu

      Tak, jak mówisz, to trochę jak puzzle. 🙂 Najważniejsze to załapać trochę praktyki, później już idzie z górki.

  • Grzegorz_Gie

    Sub FunExample2()

    Dim intValue As String
    intValue = InputBox(“Wprowadź tekst”)
    Worksheets(“Arkusz3”).Range(“b2”) = UCase(intValue)

    End Sub

  • Rafał

    W przykładzie jest błąd, deklarujesz zmienna  intValue a używasz później strValue 🙂
    Dim intValue As String
    strValue = InputBox(“Wprowadź tekst”)
    MsgBox (UCase(strValue))
     

    Kurs jest świetny – fajnie tłumaczysz 🙂 Wiedza na pewno się przyda

     

    • Rafał

      Nie wiedziałem, o który przykład chodzi, ale generalnie trzeba zastąpić MsgBoxa odwołaniem do komórki w arkuszu 3 🙂

      Sub FunExample2()

      Dim intValue As String
      intValue = InputBox(“Wprowadź tekst”)
      Worksheets(“Arkusz3”).Range(“B2”) = (UCase(intValue))

      End Sub