Funkcja VBA Trim

Funkcja Trim to jedna z funkcji tekstowych VBA. W wyniku jej działania zwracana jest wartość tekstowa oczyszczona z niepotrzebnych spacji na początku i na końcu. 

kliknij, aby powiększyć

Funkcja ma jeden argument:

      • String – ciąg tekstowy

Funkcja Trim() może występować też w ograniczonych wariantach tzn.

    • LTrim() – usuwa spacje tylko na początku wprowadzonego tekstu
    • RTrim() – usuwa spacje tylko na końcu wprowadzonego tekstu

Funkcja VBA Environ

Environ to funkcja  systemowa VBA Jej zadaniem jest pobieranie wartości zmiennych środowiskowych systemu operacyjnego, czyli takich, które są ustawione przez Windows i opisują aktualne środowisko użytkownika.

kliknij, aby powiększyć

Najczęściej stosowane wartości argumenty Expression to:

Expression Zwracana wartość
Username Nazwa zalogowanego użytkownika
ComputerName Nazwa komputera
OS System operacyjny
Temp Ścieżka do folderu tymczasowego

Przykład wykorzystania w kodzie może wyglądać tak: 

Public Sub Funkcja_Environ()
Dim Uzytkownik As String
Dim FolderTymczasowy As String
Uzytkownik = Environ(„Username”)
FolderTymczasowy = Environ(„Temp”)
End Sub

W zależności od wersji i ustawień komputera zmienne funkcji mogą się różnić. Wszystkie dostępne zmienne można sprawdzić taką procedurą: 

Public Sub WypiszZmiennieSrodowiskowe()
Dim i As Integer
For i = 1 To 50
   Debug.Print i & „: ” & Environ(i)
Next i
End Sub

W swoich projektach zdarza mi się stosować tę funkcję. Wykorzystuje ją głównie do sprawdzenia użytkownika i ukrywania/odkrywania niektórych arkuszy. Ścieżka do folderu tymczasowego jest również przydatna do tworzenia chwilowych plików. 
Warto się zainteresować. 



A tu możesz mi postawić kawę: 

buycoffee.to/marzatela

 

Funkcja VBA Switch()

Funkcja VBA Switch() wyszukuje pierwsze wyrażenie z listy argumentów, które jest Prawdą i zwraca przypisaną do niego wartość.

kliknij, aby powiększyć

Teoretycznie – funkcja ta jest odpowiednikiem w VBA funkcji Excela Przełącz(),  ale nie jest to dokładnie taka sama funkcja. Nie ma tu wartości domyślnej, a jeżeli żaden z warunków nie jest spełniony, funkcja w VBA zwraca Null – czyli wartość (a właściwie brak wartości) zupełnie nieznaną w Excelu, ale często występującą w bazach danych (w Accessie również). 
No i jest jeszcze jedna, wręcz kluczowa różnica odróżniająca obie te funkcje: w funkcji Przełącz() jest jedna zmienna, która może przyjmować różne wartości i zwracać przypisane do niej wartości. W funkcji Switch – w każdym kroku może to być inny warunek. 

Argumenty funkcji to pary:

    • Arg1 (i kolejne nieparzyste)– warunek do sprawdzenia zwracajacy 
    • Arg2 (i kolejne parzyste) -wartość lub kryterium, która musi być spełnione, aby  komórka była liczona.

itd. 

Przykład wykorzystania może wyglądać tak: 

W kodzie VBA funkcja wygląda tak:

Public Function FunkcjaSwitchVBA(A, B, C)
Dim Wynik
Wynik = Switch(a < 0, „ujemna”, B > a, „rośnie”, C > 5, „powyzej 5”)
If IsNull(Wynik) Then
FunkcjaSwitchVBA = „Brak wyniku”
Else
FunkcjaSwitchVBA = Wynik
End If
End Function

Warunek If IsNull(Wynik) Then … dołożyłam tu dlatego, żeby jednoznacznie otrzymać wiarygodny wynik. Bez tego warunku, w przypadku, gdyby wszystkie warunki miałyby wartość False – w komórce Excela widoczne było zero. A zero to też wartość. 



A tu możesz mi postawić kawę: 

buycoffee.to/marzatela

 

Funkcja arkuszowa CountIfs()

Funkcja WorksheetFunction.CountIfs() to jedna z funkcji statystycznych  VBA w Excelu. Wynikiem jej działania jest ilość komórek spełniających określone kryteria.

kliknij, aby poiwiększyć

Argumenty funkcji to:

    • Arg1 (i kolejne nieparzyste)– zakres komórek, dla których sprawdzamy kryterium wyszukiwania. 
    • Arg2 (i kolejne parzyste) -wartość lub kryterium, która musi być spełnione, aby  komórka była liczona.

Liczba możliwych par zakres-kryterium wynosi 30.

W praktyce może to wyglądać np. tak:

kliknij, aby powiększyć

Przykładowe zastosowania funkcji w kodzie VBA to:

Sub MojeStatystyki()
Dim a As Double
Dim ZakresTowar As Range
Dim ZakresVAT As Range
With Worksheets(„Arkusz7”)
Set ZakresTowar = .Range(„B13:B25”)
Set ZakresVAT = .Range(„E13:E25”)
a = WorksheetFunction.CountIfs(ZakresTowar, „*k*”, ZakresVAT, „<>” & „8%”)
End With
End Sub

W tym przypadku obliczana jest liczba pozycji, w których nazwa towaru zawiera literę „k”, a stawka VAT nie wynosi 8%. 

Odpowiednikiem funkcji w Excelu jest funkcja Licz.Warunki()


Kurs Programowanie VBA w Excelu 365 od podstaw

 

Funkcja VBA RGB

Funkcja RGB to jedna z funkcji wbudowanych VBA.  Zwraca wartość liczbową (liczba typu Long) będącą odzwierciedleniem odzwierciedleniem danego koloru jako mieszanki trzech kolorów podstawowych: czerwonego, zielonego i niebieskiego. 

kliknij, aby powiększyć

Funkcja ma 3 obowiązkowe argumenty:

    • Red – liczba typu Integer w zakresie 0 do 255
    • Green– liczba typu Integer w zakresie 0 do 255
    • Blue – liczba typu Integer w zakresie 0 do 255

Jeżeli któryś z argumentów funkcji będzie liczbą większą od 255 – kod zinterpretuje ją jako 255. Dla liczb całkowitych ujemnych – pojawi się
błąd wykonani 5. Jeżeli natomiast zostanie wstawiona wartość innego typu niż Integerbłąd wykonania 13

Za pomocą tej funkcji możemy ustawić własny kolor, na przykład przy formatowaniu czcionki czy zakresu. 
Skąd wiadomo jakie wartości wpisać jako poszczególne argumenty? Można podejrzeć w samym Excelu:

Karta Narzędzia główne:

Po wybraniu opcji Więcej kolorów otwiera się formularz:

W zakładce Niestandardowy ustawiamy wybrany kolor i odcień, a poniżej odczytujemy wartości R (czerwony), G(zielony) i B(niebieski). 
Możemy je wykorzystać w kodzie. 

Funkcja nie ma swojego odpowiednika w Excelu.