Ovaj će vodič pokazati kako se koristi tekstualna funkcija u VBA -i.
Funkcija Text koristi se na radnom listu programa Excel za vraćanje dijela niza u navedenom formatu. Funkcija Text nije VBA funkcija, ali se može koristiti u VBA upućivanjem na objekt Funkcija radnog lista.
Radni list Funkcija.Tekst
Sintaksa u VBA bi stoga bila sljedeća:
= Funkcija radnog lista.Text (Arg1, Arg2)
gdje je Arg1 izvorni niz, a Arg2 format niza koji želimo vratiti.
1234567 | Podtest WSFunction ()Dim dte kao nizDim strD kao nizdte = "08/05/2021"strD = Funkcija radnog lista.Text (dte, "mmmm")MsgBox strDKraj podm |
U gornjem primjeru, string varijabla dte sprema datum. Funkcija Text tada vraća mjesečni dio datuma.
Oblikovanje brojeva s funkcijom teksta
Možemo koristiti funkciju teksta za oblikovanje brojeva u našem VBA kodu.
1234567 | PodformatCurrency ()Dim strNum As StringZatamni strFormat kao nizstrNum = "75896.125"strFormat = Funkcija radnog lista.Text (strNum, "$#, ## 0.00")MsgBox strFormatKraj podm |
Niz vraćen u gornjem primjeru bio bi 75.896,13 USD.
Drugi primjeri oblikovanja brojeva pomoću tekstualne funkcije su:
12345678 | = Funkcija radnog lista.Text (75896.125, "0")ovo će se vratiti: "75896"= Funkcija radnog lista.Text (75896.125, "0.0")ovo će se vratiti: "75896,1"= Funkcija radnog lista.Text (75896.125, "#, ## 0")ovo će se vratiti: "75,896" |
Međutim, Excel ima ugrađenu VBA funkciju koju možemo koristiti umjesto funkcije Text ako želimo oblikovati datume i brojeve unutar VBA. To je poznato kao funkcija Format.
Funkcija VBA formata
Uzimajući gornji primjer, umjesto da koristimo WorksheetFunction.Text, možemo jednostavno koristiti funkciju Format za postizanje istih rezultata.
12345678 | = Format (75896.125, "0")ovo će se vratiti: "75896"= Format (75896.125, "0.0")ovo će se vratiti: "75896,1"= Format (75896.125, "#, ## 0")ovo će se vratiti: "75,896" |
Slično, možemo koristiti funkciju oblikovanja za oblikovanje dijelova datuma niza.
1234567 | Pod TestFormatFunction ()Dim dte kao nizDim strD kao nizdte = "08/05/2021"strD = Format (dte, "mmmm")MsgBox strDKraj podm |