Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Visual Basic for Application
2
Formatowanie wyrażeń w VBA
Formatowaniu mogą podlegać: Liczby Daty i czas Łańcuchy znaków Visual Basic for Application
3
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
4
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
5
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
6
Zdefiniowane formaty numeryczne
General Number – wyświetla liczbę bez separatora tysięcy Format(123456, "General Number") Visual Basic for Application
7
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
8
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
9
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
10
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
11
Zdefiniowane formaty numeryczne
Scientific – używa standardowego formatu wykładniczego: Format(123456, "Scientific") Visual Basic for Application
12
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
13
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
14
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
15
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
16
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( , "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ż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( , "###.##") Visual Basic for Application
19
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
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żytkownika
Formatowanie wartości procentowych: Format(0.789, "0.00%") Visual Basic for Application
22
Format zdefiniowany przez użytkownika
Separator 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ż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
24
Format zdefiniowany przez użytkownika
Format 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ż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
27
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
28
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
29
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
30
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
31
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
32
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
33
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
34
Format zdefiniowany przez użytkownika
Format daty krótkiej Format(Date, "dd/mm/yy") Visual Basic for Application
35
Format zdefiniowany przez użytkownika
Format(Time, "h:m:s") Format(Time, "hh:mm:ss AMPM„) Visual Basic for Application
36
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
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ów
Format("Formatujemy dowolne słowo", „>") Format("Formatujemy DOWOLNE słowo", "<") Format("Formatujemy DOWOLNE słowo", "&&&&&&&&&&&&&&!<") Visual Basic for Application
40
Visual Basic for Application
Koniec wykładu 6 – dziękuję za uwagę Visual Basic for Application
41
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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.