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
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ć.
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ść.
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%.
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ż Integer – błą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.