Funkcja formatu VBA

Spisie treści

Ten samouczek pokaże, jak korzystać z funkcji Format.

Funkcja formatu

Formatuj liczby za pomocą predefiniowanych formatów

Funkcja formatu może konwertować liczbę na ciąg sformatowany za pomocą predefiniowanych nazwanych formatów liczbowych. Te wstępnie zdefiniowane formaty to Waluta, Stała, Standardowa, Procent, Naukowa, Tak/Nie, Prawda/Fałsz i Wł./Wył.

12345678910111213141516171819202122232425262728293031 PodformatPrzykład_1()MsgBox Format(1234567.8) 'Wynik to: 1234567.8„Format po prostu pozostawia liczbę taką, jaka jest”MsgBox Format(1234567.8, "Waluta") 'Wynik to: 1 234 567,80 $'Waluta używa ustawień waluty systemu'MsgBox Format(1234567.8, "Naprawiono") 'Wynik to: 1234567.80„Stała: co najmniej jedna cyfra przed przecinkiem dziesiętnym i'używa ustawień systemowych dla części dziesiętnejMsgBox Format(1234567.8, "Standard") 'Wynik to: 1 234 567,80„Standard: tysiące separatorów i standardowy system”MsgBox Format(1234567.8, "Procent") 'Wynik to: 123456780.00%„Procent, pomnożony przez 100 z % i standardowym systemem.MsgBox Format(1234567.8, "Naukowe") 'Wynik to: 1.23E+06'Notacja naukowaMsgBox Format(1234567.8, "Tak/Nie") 'Wynik: Tak„Nie, jeśli liczba wynosi zero”MsgBox Format(1234567.8, "Prawda/Fałsz") 'Wynik: Prawda„Fałsz, jeśli liczba jest równa zero”MsgBox Format(1234567.8, "Wł/Wył") 'Wynik: Wł'Wyłączone, jeśli liczba wynosi zeroNapis końcowy

Formatuj numery za pomocą formatów zdefiniowanych przez użytkownika

Funkcja formatu może konwertować liczbę na ciąg, sformatowane formaty liczbowe zdefiniowane przez użytkownika. 0 to symbol zastępczy cyfry, który wyświetla cyfrę lub zero. # to symbol zastępczy cyfry, który wyświetla cyfrę lub nic. Kropka (.) to dziesiętny symbol zastępczy, % to procentowy symbol zastępczy, a przecinek (,) to separator tysięcy. Tekst można dodać w formacie przy użyciu podwójnych cudzysłowów („”), a pojedynczy znak można dodać, jeśli jest używany po odwrotnym ukośniku (\).

1234567891011 PodformatPrzykład_2()MsgBox Format(7.8, "000.00") 'Wynik to: 007.80MsgBox Format(12347.8356, "000.00") 'Wynik to: 12347.84MsgBox Format(7.8, "###.##") 'Wynik to: 7.8MsgBox Format(12347.8356, "###.##") 'Wynik: 12347.84MsgBox Format(7.8, "\$.00") 'Wynik to: $7.80MsgBox Format(1237.835, "ABA0.00") 'Wynik to: ABA1237.84MsgBox Format(12347.8356, "000.00%") 'Wynik to: 1234783.56%MsgBox Format(12347.8356, "%000.00") 'Wynik to: %12347.84Napis końcowy

Formatuj liczby w zależności od wartości

Funkcja formatowania może mieć różne sekcje używające różnych reguł formatowania liczb dodatnich, liczb ujemnych, zera i wartości Null. Te sekcje są oddzielone średnikiem.

1234567 PodformatPrzykład_3()MsgBox Format(7.8, "000.00;(000.00);\z\e\r\o;nic") 'Wynik to: 007.80MsgBox Format(-7.8, "000.00;(000.00);\z\e\r\o;nic") 'Wynik: (007.80)MsgBox Format(0, "000.00;(000.00);\z\e\r\o;nic") 'Wynik to: zeroMsgBox Format(Null, "000.00;(000.00);\z\e\r\o;nic") 'Wynik: nicNapis końcowy

Formatuj daty za pomocą wstępnie zdefiniowanych formatów

Funkcja formatowania może formatować daty z różnymi predefiniowanymi formatami. Te formaty to długa, średnia i krótka data, a także długi, średni i krótki czas.

1234567891011121314 PodformatPrzykład_4()Dim DateEx As DateDataEx = 18.04.2020 19:35:56 #MsgBox Format(DateEx, "Data ogólna") 'Wynik: 18.04.2020 19:35:56MsgBox Format(DateEx, "Long Date") 'Wynik: sobota, 18 kwietnia 2022MsgBox Format (DateEx, "Średnia data") 'Wynik: 18-kwiecień-20MsgBox Format (DateEx, "Krótka data") 'Wynik: 18.04.2020MsgBox Format(DateEx, "Długi czas") 'Wynik to: 19:35:56MsgBox Format(DateEx, "Średni czas") 'Wynik to: 19:35MsgBox Format(DateEx, "Krótki czas") 'Wynik to: 19:35Napis końcowy

Formatuj daty za pomocą formatów zdefiniowanych przez użytkownika

Funkcja Format może formatować daty za pomocą formatów zdefiniowanych przez użytkownika. Znaki takie jak d, m, y, w, q mogą być używane do tworzenia niestandardowych formatów daty.

123456789101112131415161718192021222324 PodformatPrzykład_5()Dim DateEx As DateDataEx = 18.04.2020 19:35:56 #MsgBox Format (DateEx, "m/d/rr") 'Wynik: 18.04.2020MsgBox Format (DateEx, "mm-dd-rr") 'Wynik: 18.04.2020MsgBox Format(DateEx, "mmm-dd-yy") 'Wynik: 18.04.2020MsgBox Format(DateEx, "mmmm-dd-rr") 'Wynik: 18 kwietnia-2020MsgBox Format(DateEx, "mm-ddd-rr") 'Wynik: 04-Sat-2020MsgBox Format (DateEx, "mm-dddd-rr") 'Wynik: 04-sobota-2020MsgBox Format (DateEx, "y")„Wynik to: 109”'liczba dni w roku 1-366MsgBox Format (DateEx, "ww")„Wynik to: 16”'liczba tygodni w roku 1-52MsgBox Format (DataEx, "q")„Wynik to: 2”„kwartał w roku 1-4”Napis końcowy

Kombinacje znaków takich jak h, n, s i am, pm mogą być używane do tworzenia niestandardowych formatów czasu.

123456789101112 PodformatPrzykład_6()Dim DateEx As DateDataEx = #4/18/2020 19:06:05 #MsgBox Format(DateEx, "h:n:s") 'Wynik to: 19:6:5MsgBox Format(DateEx, "hh:nn:ss") 'Wynik: 19:06:05MsgBox Format(DateEx, "hh:nn:ss am/pm") 'Wynik to: 07:06:05 pmMsgBox Format(DateEx, "hh:nn:ss AM/PM") 'Wynik: 07:06:05 PMMsgBox Format(DateEx, "hh:nn:ss a/p") 'Wynik to: 07:06:05 pMsgBox Format(DateEx, "hh:nn:ss A/P") 'Wynik to: 07:06:05 PNapis końcowy

Format dla lepszej czytelności

Funkcja formatowania może formatować ciągi lub liczby dla lepszej czytelności. @ to symbol zastępczy znaku używany do wyświetlania znaku lub spacji. & to symbol zastępczy znaków używany do wyświetlania znaku lub niczego. ! może być używany do używania symboli zastępczych znaków od lewej do prawej i może być używany do wymuszania małych lub wielkich liter. Może być przydatny przy formatowaniu numerów telefonów lub innych dużych liczb bez zmiany oryginalnej wartości.

12345678910111213141516171819202122 PodformatPrzykład_7()Dim StrEx jako ciągStrEx = "ABCdef"MsgBox Format(StrEx, "-@@@-@@-@@") 'Wynik: - AB-Cd-efMsgBox Format(StrEx, "-&&&-&&-&&") 'Wynik to: -AB-Cd-ef„Zaczyna się od prawej do lewej.MsgBox Format(StrEx, "-@@@-@@-@@-@@") 'Wynik to: - -AB-Cd-efMsgBox Format(StrEx, "-&&&-&&-&&-&&") 'Wynik to: --AB-Cd-ef„Zaczyna się od prawej do lewej. Gdy nie ma znaków @ dodaje spacje i nic nie dodajeMsgBox Format(StrEx, "!-@@@-@@-@@-@@") 'Wynik to: -ABC-de-f -MsgBox Format(StrEx, "!-&&&-&&-&&-&&") 'Wynik: -ABC-de-f„Zaczyna się od lewej do prawej z powodu !MsgBox Format(StrEx, ">") 'Wynik to: ABCDEFMsgBox Format(StrEx, "<") 'Wynik: abcdefMsgBox Format(1234567890, "@@@-@@@-@@@@@") 'Wynik to: 123-456-7890MsgBox Format(1234567890, „@@@@-@@@-@@@@”) 'Wynik: 1234-567-890Napis końcowy

Wzorce formatowania w komórkach arkusza

Funkcja formatu może być używana w kodzie VBA, a także w komórkach arkuszy roboczych. Zaznacz komórkę lub zakres komórek i przejdź do pozycji menu Formatuj komórki > Niestandardowe. Istnieje wiele formatów zdefiniowanych przez użytkownika, a także użytkownik może tworzyć własne formaty niestandardowe.

Wzorce formatowania za pomocą formuły tekstowej

Funkcja formatowania może bezpośrednio zmienić format wartości w kodzie VBA. Możemy również użyć formuły Excel Text, aby uzyskać ten sam wynik za pomocą WorksheetFunction.Text.

1234567891011 PodformatPrzykład_8()Format skrzynki wiadomości (7,8, "000.00")„Wynik to: 007,80”MsgBox WorksheetFunction.Text(7.8, "000.00")„Wynik to: 007,80”MsgBox Format(7.8, "###.##")„Wynik to: 7,8”MsgBox WorksheetFunction.Text(7.8, "###.##")„Wynik to: 7,8”Napis końcowy

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave