1 Visual Basic for Application
2 Formatowanie wyrażeń w VBAFormatowaniu mogą podlegać: Liczby Daty i czas Łańcuchy znaków Visual Basic for Application
3 Visual Basic for ApplicationFormatowanie 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
4 Visual Basic for ApplicationFormatowanie 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
5 Visual Basic for ApplicationFormatowanie liczb Do formatowania liczb można użyć predefiniowanych formatów numerycznych lub formatów zdefiniowanych przez użytkownika Visual Basic for Application
6 Zdefiniowane formaty numeryczneGeneral Number – wyświetla liczbę bez separatora tysięcy Format(123456, "General Number") Visual Basic for Application
7 Zdefiniowane formaty numeryczneCurrency – 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
8 Zdefiniowane formaty numeryczneFixed – Wyświetla przynajmniej jedną cyfrę od lewej i dwie cyfry od prawej strony separatora dziesiętnego Format(123456, "Fixed") Visual Basic for Application
9 Zdefiniowane formaty numeryczneStandard – 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
10 Zdefiniowane formaty numerycznePercent – 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
11 Zdefiniowane formaty numeryczneScientific – używa standardowego formatu wykładniczego: Format(123456, "Scientific") Visual Basic for Application
12 Zdefiniowane formaty numeryczneYes/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
13 Zdefiniowane formaty numeryczneYes/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
14 Zdefiniowane formaty numeryczneOn/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
15 Format zdefiniowany przez użytkownikaZnaki, 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
16 Format zdefiniowany przez użytkownikaWyraż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( , "00.0") Visual Basic for Application
17 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
18 Format zdefiniowany przez użytkownikaWyraż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( , "###.##") Visual Basic for Application
19 Format zdefiniowany przez użytkownikaW zdefiniowanym formacie z lewej strony znaku dziesiętnego nie ma znaków pola: Format(0.789, ".##") Visual Basic for Application
20 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
21 Format zdefiniowany przez użytkownikaFormatowanie wartości procentowych: Format(0.789, "0.00%") Visual Basic for Application
22 Format zdefiniowany przez użytkownikaSeparator tysięcy: Format(123456, "#,##0.00") Użycie separatora tysięcy z lewej strony separatora dziesiętnego: Format( , "##0,.00") Użycie dwóch separatorów tysięcy z lewej strony separatora dziesiętnego: Format( , "##0,,.00") Visual Basic for Application
23 Format zdefiniowany przez użytkownikaFormat 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
24 Format zdefiniowany przez użytkownikaFormat wykładniczy dla liczb dodatnich Format( , "####0.00E+00") Format wykładniczy dla liczb ujemnych Format( , "####0.00E+00;-####0.00E-00") Visual Basic for Application
25 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
26 Format zdefiniowany przez użytkownikaWyraż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
27 Visual Basic for ApplicationFormatowanie 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
28 Visual Basic for ApplicationFormatowanie 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
29 Visual Basic for ApplicationFormatowanie 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
30 Formatowanie daty i czasuDo 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
31 Predefiniowane formatowanie datyZwraca 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
32 Predefiniowane formatowanie czasuZwraca czas sformatowany zgodnie ze zdefiniowanym w systemie formatem long/medium/short time. Format(Time, "Long Time") Format(Time, „Medium Time”) Visual Basic for Application
33 Format zdefiniowany przez użytkownikaDla 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
34 Format zdefiniowany przez użytkownikaFormat daty krótkiej Format(Date, "dd/mm/yy") Visual Basic for Application
35 Format zdefiniowany przez użytkownikaFormat(Time, "h:m:s") Format(Time, "hh:mm:ss AMPM„) Visual Basic for Application
36 Formatowanie łańcucha znakówSł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
37 Formatowanie łańcucha znaków@ Miejsce na znak Wyświetla znak albo spację. Jeżeli łańcuch zawiera znak na pozycji, gdzie jest 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
38 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
39 Formatowanie łańcucha znakówFormat("Formatujemy dowolne słowo", „>") Format("Formatujemy DOWOLNE słowo", "<") Format("Formatujemy DOWOLNE słowo", "&&&&&&&&&&&&&&!<") Visual Basic for Application
40 Visual Basic for ApplicationKoniec wykładu 6 – dziękuję za uwagę Visual Basic for Application
41 Visual Basic for ApplicationWhen 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