Visual Basic for Application
Formatowanie wyrażeń w VBA Formatowaniu mogą podlegać: Liczby Daty i czas Łańcuchy znaków Visual Basic for Application
Visual Basic for Application Formatowanie Funkcja Format zwraca wartość typu Variant(String) sformatowaną odpowiednio do instrukcji zawartych w wyrażeniu Format (Wyrazenie[. Format[. PierwszyDzieńTygodnia[. PierwszyDzieńRoku]]]) Gdzie: Wyrażenie (wymagany) – dowolne poprawne wyrażenie Format (opcja) nazwa lub zdefiniowane przez użytkownika wyrażenie formatujące Visual Basic for Application
Visual Basic for Application Formatowanie Poniższe przykłady pokażą różne sposoby użycia funkcji Format do formatowania wartości zarówno za pomocą pre-definiowanych formatów standardowych, jak i formatów zdefiniowanych na własny użytek przez użytkownika Jeżeli format nie jest zdefiniowany, funkcja Format zwraca przekazany łańcuch MyStr = Format(23) Returns "23" Visual Basic for Application
Visual Basic for Application Formatowanie liczb Do formatowania liczb można użyć predefiniowanych formatów numerycznych lub formatów zdefiniowanych przez użytkownika Visual Basic for Application
Zdefiniowane formaty numeryczne General Number – wyświetla liczbę bez separatora tysięcy Format(123456, "General Number") Visual Basic for Application
Zdefiniowane formaty numeryczne Currency – wyświetla liczbę z separatorem tysięcy, jeśli jest potrzebny; wyświetla dwie cyfry do prawej strony separatora dziesiętnego. Formatowanie jest oparte na ustawieniach lokalnych w systemie Format(123456, "Currency") Visual Basic for Application
Zdefiniowane formaty numeryczne Fixed – Wyświetla przynajmniej jedną cyfrę od lewej i dwie cyfry od prawej strony separatora dziesiętnego Format(123456, "Fixed") Visual Basic for Application
Zdefiniowane formaty numeryczne Standard – Wyświetla liczbę z separatorem tysięcy, przynajmniej jedną cyfrę od lewej i dwie cyfry od prawej separatora dziesiętnego: Format(123456, "Standard") Visual Basic for Application
Zdefiniowane formaty numeryczne Percent – Wyświetla liczbę pomnożoną przez 100 ze znakiem (%) dołączonym do prawej strony, zawsze wyświetla dwie cyfry po prawej stronie separatora dziesiętnego: Format(0.25, "Percent") Visual Basic for Application
Zdefiniowane formaty numeryczne Scientific – używa standardowego formatu wykładniczego: Format(123456, "Scientific") Visual Basic for Application
Zdefiniowane formaty numeryczne Yes/No – Wyświetla Nie (No), jeżeli liczba jest 0, w przeciwnym przypadku wyświetla Tak (Yes): Format(123456, "Yes/No") Format(0, "Yes/No") Visual Basic for Application
Zdefiniowane formaty numeryczne Yes/No – Wyświetla Fałsz (False), jeżeli liczba jest 0, w przeciwnym przypadku wyświetla Prawda (True): Format(0, "True/False") Format(123456, "True/False") Visual Basic for Application
Zdefiniowane formaty numeryczne On/Off – Wyświetla Wył (Off), jeżeli liczba jest 0, w przeciwnym przypadku wyświetla Wł (On): Format(123456, "On/Off") Format(0, "On/Off") Visual Basic for Application
Format zdefiniowany przez użytkownika Znaki, jakich można używać do tworzenia formatów numerycznych użytkownika: None Wyświetla niesformatowaną liczbę Znak pola – wyświetla cyfrę lub zero. Jeżeli wyrażenie zawiera cyfrę na pozycji, gdzie występuje zero w wyrażeniu Format, wyświetla ją, w przeciwnym wypadku wyświetla zero na tej pozycji. Jeżeli wyrażenie ma mniej pozycji, niż jest zer po obu stronach kropki dziesiętnej w określonym formacie, to do wyświetlanej liczby dodawane są zera. Jeżeli wyrażenie ma więcej pozycji z lewej strony kropki dziesiętnej, to dodatkowe pozycje zostaną wyświetlone, gdy zaś z prawej, to zostaną obcięte. Visual Basic for Application
Format zdefiniowany przez użytkownika Wyrażenie z mniejszą liczbą pozycji, niż jest zer po obu stronach kropki dziesiętnej w określonym formacie - dodane są zera po obu stronach Format(6.7, "00.00") Wyrażenie z mniejszą większą liczbą pozycji, niż jest zer po obu stronach kropki dziesiętnej w określonym formacie – obcięte są pozycje z prawej strony Format(123456.789, "00.0") Visual Basic for Application
Format zdefiniowany przez użytkownika # Znak pola – wyświetla cyfrę lub nic. Jeżeli wyrażenie zawiera cyfrę na pozycji, gdzie występuje # w wyrażeniu Format, wyświetla ją, w przeciwnym wypadku nic nie wyświetla na tej pozycji. Jeżeli wyrażenie ma mniej pozycji, niż jest # po obu stronach kropki dziesiętnej w określonym formacie, to do wyświetlanej liczby nie są dodawane zera. . Znak dziesiętny – określa pozycję kropki dziesiętnej w utworzonym formacie. Jeżeli z lewej strony tego znaku nie ma znaków pola, to liczby mniejsze od 1 zaczynane są znakiem dziesiętnym. Visual Basic for Application
Format zdefiniowany przez użytkownika Wyrażenie z mniejszą liczbą pozycji, niż jest # po obu stronach kropki dziesiętnej w określonym formacie - nic nie jest dodawane Format(6.7, "###.##") Wyrażenie z mniejszą większą liczbą pozycji, niż jest # po obu stronach kropki dziesiętnej w określonym formacie – wszystkie pozycje są wyświetlane Format(123456.789, "###.##") Visual Basic for Application
Format zdefiniowany przez użytkownika W zdefiniowanym formacie z lewej strony znaku dziesiętnego nie ma znaków pola: Format(0.789, ".##") Visual Basic for Application
Format zdefiniowany przez użytkownika % Znak procentu Jest wstawiany do wyrażenia na pozycję, na której ma być wyświetlony. Wyrażenie jest mnożone przez 100. , Separator tysięcy W niektórych lokalnych ustawieniach jako separator dziesiętny używana jest kropka. Standardowe użycie separatora tysięcy jest określone, jeżeli format zawiera separator tysięcy otoczony przez znaki pola (0 lub #). Dwa bezpośrednio do siebie przylegające separatory tysięcy lub separator tysięcy bezpośrednio po lewej stronie separatora dziesiętnego oznaczają, że wielkość liczby, jeżeli jest to potrzebne jest dzielona przez 1000. Visual Basic for Application
Format zdefiniowany przez użytkownika Formatowanie wartości procentowych: Format(0.789, "0.00%") Visual Basic for Application
Format zdefiniowany przez użytkownika Separator tysięcy: Format(123456, "#,##0.00") Użycie separatora tysięcy z lewej strony separatora dziesiętnego: Format(123456789, "##0,.00") Użycie dwóch separatorów tysięcy z lewej strony separatora dziesiętnego: Format(123456789, "##0,,.00") Visual Basic for Application
Format zdefiniowany przez użytkownika Format wykładniczy Umieszczenie jednego z symboli wykładniczych z prawej strony znaków pola powoduje, że liczba jest wyświetlana w formacie wykładniczym. Litera E lub e jest umieszczana między liczbą a wykładnikiem. Dla liczb ujemnych należy użyć symboli z minusem. Liczbę znaków wykładnika potęgi określa się za pomocą znaków pola umieszczonych z prawej strony symbolu wykładniczego. - + $ () Wyświetla znak literowy Inne niż wymienione znaki muszą być poprzedzone znakiem zezwolenia (\) lub być zamknięte w cudzysłów („ „) Visual Basic for Application
Format zdefiniowany przez użytkownika Format wykładniczy dla liczb dodatnich Format(123456789, "####0.00E+00") Format wykładniczy dla liczb ujemnych Format(-123456789, "####0.00E+00;-####0.00E-00") Visual Basic for Application
Format zdefiniowany przez użytkownika \ Znak zezwolenia Pozwala na wyświetlanie znaków używanych do formatowania. Aby wyświetlić taki znak, należy użyć go podwójnie. Poprzedzane są: znaki formatowania daty i czasu (a, c, d, h, m, n, p, q, s, t, w, y, /, :), znaki formatowania numerycznego (#, 0, %, E, e, przecinek, kropka), znaki formatowania łańcuchowego (@, &, <, >, !). „ABC” Wyświetla łańcuch zawarty między dwoma znakami cudzysłowu („ „) Visual Basic for Application
Format zdefiniowany przez użytkownika Wyrażenie format zdefiniowane przez użytkownika dla liczb może mieć od jednej do czterech sekcji oddzielonych średnikami Przy użyciu jednej sekcji wyrażenie Format jest stosowane do wszystkich wartości. Visual Basic for Application
Visual Basic for Application Formatowanie liczb Przy użyciu dwóch sekcji pierwsza sekcja jest stosowana do dodatnich wartości, a druga do ujemnych wartości. „$#,##0;($#,##0)” Przy użyciu trzech sekcji pierwsza sekcja jest stosowana do dodatnich wartości, druga do ujemnych wartości, a trzecia do zera. Visual Basic for Application
Visual Basic for Application Formatowanie liczb Przy użyciu czterech sekcji pierwsza sekcja jest stosowana do dodatnich wartości, druga do ujemnych wartości, trzecia do zera, a czwarta do wartości Null. Visual Basic for Application
Visual Basic for Application Formatowanie liczb Można opuścić jedną z sekcji formatu, pozostawiając średniki bez żadnych znaków między nimi. Opuszczona sekcja jest wyświetlana z użyciem formatu dla dodatnich wartości. W poniższym przykładzie format wyświetla dodatnie i ujemne wartości, używając formatu pierwszej sekcji i wyświetla „Zero”, jeżeli wartość jest zero. Format(0, "#,##;;\Z\e\r\o") Visual Basic for Application
Formatowanie daty i czasu Do formatowania daty i czasu można użyć predefiniowanych formatów daty/czasu lub formatów zdefiniowanych przez użytkownika Ostateczny wygląd formatowania zależy także od aktualnych lokalnych ustawień systemowych Visual Basic for Application
Predefiniowane formatowanie daty Zwraca datę sformatowaną zgodnie ze zdefiniowanym w systemie formatem long/medium/short time. Format(Date, „Short Date”) Format(Date, „Medium Date”) Format(Date, „Long Date”) Visual Basic for Application
Predefiniowane formatowanie czasu Zwraca czas sformatowany zgodnie ze zdefiniowanym w systemie formatem long/medium/short time. Format(Time, "Long Time") Format(Time, „Medium Time”) Visual Basic for Application
Format zdefiniowany przez użytkownika Dla zdefiniowania formatu daty używany jest separator (/), Dla czasu - separator (:), i literał AM/PM, Format(Date, "dddd, dd mmmm yyyy") Format(Date, „mmmm, yyyy") Visual Basic for Application
Format zdefiniowany przez użytkownika Format daty krótkiej Format(Date, "dd/mm/yy") Visual Basic for Application
Format zdefiniowany przez użytkownika Format(Time, "h:m:s") Format(Time, "hh:mm:ss AMPM„) Visual Basic for Application
Formatowanie łańcucha znaków Służy do tego format zdefiniowany przez użytkownika, który może mieć jedną lub dwie sekcje oddzielone średnikami. Przy jednej sekcji wyrażenie Format jest stosowane do wszystkich danych string. Przy użyciu dwóch sekcji – pierwsza sekcja stosowana jest do danych łańcuchowych, druga do wartości Null i do pustych łańcuchów („ „). Visual Basic for Application
Formatowanie łańcucha znaków @ Miejsce na znak Wyświetla znak albo spację. Jeżeli łańcuch zawiera znak na pozycji, gdzie jest symbol @ w wyrażeniu Format, wyświetla go, w przeciwnym wypadku wyświetla spację na tej pozycji. Miejsca na znaki są wypełnione od prawej strony do lewej, o ile nie występuje wykrzyknik (!) w wyrażeniu Format. & Wyświetla znak lub nic nie wyświetla. Jeżeli łańcuch zawiera znak na pozycji, gdzie jest symbol (&) w wyrażeniu Format, wyświetla go, w przeciwnym razie nie wyświetla nic. Visual Basic for Application
Formatowanie łańcucha znaków < Wyświetla wszystkie znaki w formacie małych liter. > Wyświetla wszystkie znaki w formacie dużych liter. ! Powoduje wypełnianie miejsca na znaki od lewej do prawej. Standardowo wypełniane są od prawej do lewej. Visual Basic for Application
Formatowanie łańcucha znaków Format("Formatujemy dowolne słowo", „>") Format("Formatujemy DOWOLNE słowo", "<") Format("Formatujemy DOWOLNE słowo", "&&&&&&&&&&&&&&!<") Visual Basic for Application
Visual Basic for Application Koniec wykładu 6 – dziękuję za uwagę Visual Basic for Application
Visual Basic for Application When times and dates are displayed in the development environment, the short time format and short date format of the code locale are used. When displayed by running code, the short time format and short date format of the system locale are used, which may differ from the code locale. For this example, English/U.S. is assumed. Visual Basic for Application