Tento tutoriál předvede, jak používat funkci Formát.
Funkce formátování
Formátujte čísla s předdefinovanými formáty
Funkce Format dokáže převést číslo na řetězec formátovaný pomocí předdefinovaných pojmenovaných číselných formátů. Tyto předdefinované formáty jsou Měna, Fixní, Standardní, Procentní, Vědecké, Ano/Ne, Pravda/Nepravda a Zapnuto/Vypnuto.
12345678910111213141516171819202122232425262728293031 | Dílčí formát Příklad_1 ()Formát MsgBox (1234567.8) 'Výsledek je: 1234567.8„Formát prostě nechá číslo tak, jak jeFormát MsgBox (1234567.8, „měna“) Výsledek je: 1 234 567,80 $„Měna používá systémovou měnuFormát MsgBox (1234567.8, "Opraveno") 'Výsledek je: 1234567.80'Opraveno: Minimálně jedna číslice před desetinnou čárkou a'používá nastavení systému pro desetinnou částFormát MsgBox (1234567.8, „standardní“) Výsledek je: 1 234 567,80„Standardní: tisíce separátorů a standardní systémFormát MsgBox (1234567.8, „Procento“) 'Výsledek je: 123456780,00%„Procento, vynásobené 100 s % a standardním systémem.Formát MsgBox (1234567.8, "Vědecký") 'Výsledek je: 1,23E+06'Věděcký zápisFormát MsgBox (1234567.8, „Ano/Ne“) 'Výsledek je: Ano"Ne, pokud je číslo nula."Formát MsgBox (1234567.8, "True/False") 'Výsledek je: True„Falešné, pokud je číslo rovno nule.“Formát MsgBox (1234567.8, "Zapnuto/Vypnuto") 'Výsledek je: Zapnuto„Vypnuto, pokud je číslo nulaEnd Sub |
Formátujte čísla pomocí formátů definovaných uživatelem
Funkce Format dokáže převést číslo na řetězec, formátované uživatelsky definované číselné formáty. 0 je zástupný znak číslice, který zobrazuje číslici nebo nulu. # je zástupný znak číslice, který zobrazuje číslici nebo nic. Tečka (.) Je desetinný zástupný symbol, % je procentní zástupný symbol a čárka (,) je oddělovač tisíců. Text lze přidat ve formátu pomocí uvozovek (“”) a lze přidat jeden znak, pokud je použit za zpětným lomítkem (\).
1234567891011 | Dílčí formát Příklad_2 ()Formát MsgBox (7,8, "000,00") 'Výsledek je: 007,80Formát MsgBox (12347.8356, "000.00") 'Výsledek je: 12347.84Formát MsgBox (7.8, "###. ##") 'Výsledek je: 7.8Formát MsgBox (12347.8356, "###. ##") 'Výsledek je: 12347.84Formát MsgBox (7,8, "\ $. 00") 'Výsledek je: 7,80 $Formát MsgBox (1237.835, "ABA0.00") 'Výsledek je: ABA1237.84Formát MsgBox (12347,8356, "000,00%") 'Výsledek je: 1234783,56%Formát MsgBox (12347,8356, " %000,00") 'Výsledek je: %12347,84End Sub |
Formátování čísel v závislosti na hodnotách
Funkce formátování může mít různé sekce s použitím různých formátovacích pravidel pro kladná čísla, záporná čísla, nulu a Null. Tyto sekce jsou odděleny středníkem.
1234567 | Dílčí formát Příklad_3 ()Formát MsgBox (7,8, "000,00; (000,00); \ z \ e \ r \ o; nic") 'Výsledek je: 007,80Formát MsgBox (-7,8, "000,00; (000,00); \ z \ e \ r \ o; nic") 'Výsledek je: (007,80)MsgBox Format (0, "000,00; (000,00); \ z \ e \ r \ o; nic") 'Výsledek je: nulaMsgBox Format (Null, "000,00; (000,00); \ z \ e \ r \ o; nic") 'Výsledek je: nicEnd Sub |
Formátovat data s předdefinovanými formáty
Funkce formátování může formátovat data s různými předdefinovanými formáty. Tyto formáty jsou dlouhé, střední a krátké a také dlouhé, střední a krátké.
1234567891011121314 | Dílčí formát Příklad_4 ()Dim DateEx As DateDateEx = #4/18/2020 19:35:56 PM #Formát MsgBox (DateEx, „General Date“) 'Výsledek je: 18.4.2020 19:35:56Formát MsgBox (DateEx, „Long Date“) 'Výsledek je: sobota 18. dubna 2022Formát MsgBox (DateEx, "Medium Date") 'Výsledek je: 18. dubna-20Formát MsgBox (DateEx, „Short Date“) 'Výsledek je: 18.4.2020Formát MsgBox (DateEx, „Long Time“) 'Výsledek je: 19:35:56 PMFormát MsgBox (DateEx, „Medium Time“) 'Výsledek je: 19:35Formát MsgBox (DateEx, „Short Time“) 'Výsledek je: 19:35End Sub |
Formátovat data s uživatelsky definovanými formáty
Funkce formátování může formátovat data s uživatelsky definovanými formáty. Znaky jako d, m, y, w, q lze použít k vytváření vlastních formátů data.
123456789101112131415161718192021222324 | Podformát Příklad5 ()Dim DateEx As DateDateEx = #4/18/2020 19:35:56 PM #Formát MsgBox (DateEx, „m/d/rr“) 'Výsledek je: 18.4.2020Formát MsgBox (DateEx, "mm-dd-rr") 'Výsledek je: 04-18-2020Formát MsgBox (DateEx, „mmm-dd-rr“) Výsledek je: 18. dubna 2020Formát MsgBox (DateEx, „mmmm-dd-rr“) Výsledek je: 18. dubna 2020Formát MsgBox (DateEx, "mm-ddd-rr") 'Výsledek je: 04-Sat-2020Formát MsgBox (DateEx, „mm-dddd-rr“) 'Výsledek je: 04-sobota 2020Formát MsgBox (DateEx, "y")„Výsledek je: 109„počet dnů v roce 1-366Formát MsgBox (DateEx, "ww")„Výsledek je: 16„počet týdnů v roce 1-52Formát MsgBox (DateEx, "q")„Výsledek je: 2„čtvrtletí roku 1-4End Sub |
Znaky jako kombinace h, n, s a am, pm lze použít k vytváření vlastních formátů času.
123456789101112 | Dílčí formát Příklad_6 ()Dim DateEx As DateDateEx = #4/18/2020 19:06:05 PM #Formát MsgBox (DateEx, "h: n: s") 'Výsledek je: 19: 6: 5Formát MsgBox (DateEx, "hh: nn: ss") 'Výsledek je: 19:06:05Formát MsgBox (DateEx, "hh: nn: ss am/pm") 'Výsledek je: 07:06:05 pmFormát MsgBox (DateEx, "hh: nn: ss AM/PM") 'Výsledek je: 07:06:05 PMFormát MsgBox (DateEx, "hh: nn: ss a/p") 'Výsledek je: 07:06:05 pFormát MsgBox (DateEx, "hh: nn: ss A/P") 'Výsledek je: 07:06:05 PEnd Sub |
Formát pro lepší čitelnost
Funkce Format může formátovat řetězce nebo čísla pro lepší čitelnost. @ je zástupný znak pro znak nebo mezeru. & je zástupný znak sloužící k zobrazení znaku nebo ničeho. ! lze použít k použití zástupných znaků znaků zleva doprava a lze je použít k vynucení malých nebo velkých písmen. Může být užitečné při formátování telefonních čísel nebo jiných velkých čísel bez změny původní hodnoty.
12345678910111213141516171819202122 | Dílčí formát Příklad_7 ()Dim StrEx jako řetězecStrEx = "ABCdef"Formát MsgBox (StrEx, "-@@@-@@-@@") 'Výsledek je:-AB-Cd-efFormát MsgBox (StrEx, „-&&&-&&-&&“) Výsledek je: -AB-Cd-ef„Začíná zprava doleva.Formát MsgBox (StrEx, "-@@@-@@-@@-@@")) Výsledkem je:--AB-Cd-efFormát MsgBox (StrEx, "-&&&-&&-&&-&&" ") Výsledkem je: --AB-Cd-ef„Začíná zprava doleva. Když chybí znaky @, přidá mezery a & nepřidá nicFormát MsgBox (StrEx, "!-@@@-@@-@@-@@")) 'Výsledek je: -ABC-de-f-Formát MsgBox (StrEx, "!-&&&-&&-&&-&&" ") 'Výsledek je: -ABC-de-f„Začíná zleva doprava, protože!Formát MsgBox (StrEx, ">") 'Výsledek je: ABCDEFFormát MsgBox (StrEx, "<") 'Výsledek je: abcdefFormát MsgBox (1234567890, "@@@-@@@-@@@@" ") 'Výsledek je: 123-456-7890Formát MsgBox (1234567890, "@@@@-@@@-@@@" ") 'Výsledek je: 1234-567-890End Sub |
Formátujte vzory v buňkách listu
Funkci formátování lze použít v kódu VBA a také v buňkách pracovních listů. Vyberte buňku nebo rozsah buněk a postupujte podle položky nabídky Formát buněk> Vlastní. Existuje mnoho uživatelsky definovaných formátů a také si uživatel může vytvářet vlastní vlastní formáty.
Formátujte vzory pomocí textového vzorce
Funkce formátu může přímo změnit formát hodnoty v kódu VBA. Můžeme také použít vzorec Excel pro získání stejného výsledku pomocí WorksheetFunction.Text.
1234567891011 | Dílčí formát Příklad_8 ()Formát MsgBox (7,8, "000,00")„Výsledek je: 007,80MsgBox WorksheetFunction.Text (7,8, "000,00")„Výsledek je: 007,80Formát MsgBox (7.8, "###. ##")„Výsledek je: 7.8MsgBox WorksheetFunction.Text (7.8, "###. ##")„Výsledek je: 7.8End Sub |