Funkcia formátu Excel VBA
Funkcia formátovania vo VBA slúži na formátovanie daných hodnôt v požadovanom formáte, túto funkciu je možné použiť na formátovanie dátumov alebo čísel alebo ľubovoľných trigonometrických hodnôt, táto funkcia má v zásade dva povinné argumenty, jeden je vstup, ktorý sa berie vo forme reťazec a druhý argument je typ formátu, ktorý chceme použiť, napríklad ak použijeme Format (0,99, „Percent“), výsledkom bude výsledok 99%.
Vo VBA musíme na použitie na formátovanie do buniek použiť funkciu s názvom „FORMAT“. Formátovanie v programe Excel je jedným z dôležitých pojmov, ktoré je potrebné zvládnuť. Bežné techniky formátovania, ktoré všetci používame v našej každodennej práci, sú „formát dátumu, čas, formátovanie čísel a ďalšie dôležité kódy formátovania.“ V bežných pracovných hárkoch programu Excel jednoducho klikneme na možnosť bunky formátu Excel a vykonáme povinnosť formátovania pomocou príslušného formátovacieho kódu. Vo VBA to však nie je také jednoduché ako v prípade techniky nášho pracovného hárka.
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples.png.webp)
Syntax
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_2.png.webp)
- Výraz: Toto nie je nič iné ako hodnota, ktorú chceme formátovať. V technike VAB sa nazýva Expression.
- (Formát): Aký je formát, ktorý chcete použiť na výraz, ktorý ste vybrali? Máme tu dva druhy formátovania, jeden je používateľom definovaný formát a druhý je zabudovaný formát.
Tu máme formáty dátumu, VBA, formáty čísel a textové formáty VBA.
Formáty dátumu VBA majú krátky dátum, dlhý dátum, stredný dátum a všeobecný dátum.
Formáty čísel sú Mena, Štandardné, Percentuálne, Vedecké, Áno alebo Nie, Pravda alebo nepravda a Zapnuté alebo Vypnuté. - (Prvý deň v týždni): Aký je prvý deň v týždni? Môžeme vybrať ktorýkoľvek deň zo zoznamu. Nižšie je uvedený zoznam dní a príslušné kódy.
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_3.png.webp)
- (Prvý týždeň v roku): Aký je prvý týždeň v roku? Toto určuje týždeň, ktorý by sa mal použiť ako prvý týždeň v roku.
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_4.png.webp)
Ako použiť?
Dobre, aplikujme túto funkciu prakticky, aby sme pochopili funkčnosť funkcie FORMAT. Predpokladajme, že máte číslo 8072.56489 a chcete na neho použiť formátovanie čísla. Podľa nasledujúcich pokynov na formátovanie čísla použijete.
Krok 1: Spustite makro programu Excel a definujte premennú ako dátový typ „ reťazec “.
Kód:
Sub Worksheet_Function_Example1 () Dim K ako reťazec End Sub
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_5.png.webp)
Krok 2: Priraďte hodnotu k ako naše číslo, tj. 8072.56489
Kód:
Sub Worksheet_Function_Example1 () Dim K As String K = 8072.56489 End Sub
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_6.png.webp)
Krok 3: Zobrazte hodnotu „ k “ v okne správy VBA.
Kód:
Sub Worksheet_Function_Example1 () Dim K As String K = 8072.56489 MsgBox K End Sub
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_7.png.webp)
Krok 4: Ak spustíte toto makro, dostaneme výsledok uvedený nižšie.
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples.gif)
Výsledkom je, ako to je, priradili sme hodnotu premennej „k“. Na toto číslo však musíme použiť nejaké formátovanie, aby bolo krásne.
Krok 5: Namiesto priameho priradenia hodnoty k „ k “ použijeme funkciu FORMAT.
Kód:
Sub Worksheet_Function_Example1 () Dim K As String K = Format (MsgBox K End Sub
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_8.png.webp)
Krok 6: Teraz k výrazu priraďte číslo 8072.56489 .
Kód:
Sub Worksheet_Function_Example1 () Dim K As String K = Format (8072.56489, MsgBox K End Sub
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_9.png.webp)
Krok 7: V možnosti formátovania môžeme použiť buď zabudovaný formát, alebo môžeme použiť náš vlastný formátovací kód. Teraz použijem zabudovaný štýl formátovania ako „ Štandardný“.
Kód:
Sub Worksheet_Function_Example1 () Dim K As String K = Format (8072.56489, "Standard") MsgBox K End Sub
Krok 8: Teraz spustite tento kód a pozrite si výsledok v okne so správou.
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_2.gif)
Dobre, máme čiarku (,) ako tisíc oddeľovačov a desatinné miesto sa zaokrúhľuje iba na dve číslice.
Takto môžeme na použitie formátovania použiť mnoho ďalších vstavaných štýlov formátovania. Ďalej uvádzam niektoré z kódov, ktoré som použil.
# 1 - Formát meny
Kód:
Sub Worksheet_Function_Example2 () Dim K As String K = Format (8072.56489, "Currency") MsgBox K End Sub
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_11.png.webp)
Výsledok:
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_3.gif)
# 2 - Pevný formát
Kód:
Sub Worksheet_Function_Example3 () Dim K As String K = Format (8072.56489, "Fixed") MsgBox K End Sub
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_12.png.webp)
Výsledok:
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_4.gif)
# 3 - Percentuálny formát
Kód:
Sub Worksheet_Function_Example4 () Dim K As String K = Format (8072.56489, "Percent") MsgBox K End Sub
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_13.png.webp)
Výsledok:
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_5.gif)
# 4 - Formáty definované používateľom
Dobre, teraz uvidíme niektoré formáty definované používateľom.
Kód:
Sub Worksheet_Function_Example5 () Dim K As String K = Format (8072.56489, "#. ##") MsgBox K End Sub
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_14.png.webp)
Výsledok:
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_6.gif)
Kód:
Sub Worksheet_Function_Example5 () Dim K As String K = Format (8072.56489, "#, ##. ##") MsgBox K End Sub
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_15.png.webp)
Výsledok:
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_7.gif)
# 5 - FORMÁT dátumu
Videli sme niektoré dôležité počty formátovacích techník. Teraz budeme musieť na formátovanie dátumu vo VBA použiť funkciu FORMAT.
Napísal som kód na zobrazenie výsledku dátumu prostredníctvom premennej.
Kód:
Sub Worksheet_Function_Example6 () Dim K As String K = 13 - 3 - 2019 MsgBox K End Sub
Po spustení tohto kódu by som nezískal presný dátum. Výsledok je skôr žalostný.
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_8.gif)
Aby sme získali presné dátumy, musíme mu priradiť formát dátumu. Prvá vec je, že musíme zadať dátum v dvojitých úvodzovkách a použiť formát dátumu.
Kód:
Sub Worksheet_Function_Example6 () Dim K As String K = Format ("10 - 3 - 2019", "Long Date") MsgBox K End Sub
Tento kód teraz spustím a dostanem riadne dlhý dátum.
![](https://cdn.know-base.net/5883419/vba_format_how_to_use_vba_format_function_examples_9.gif)
„Long Date“ je zabudovaný formát. Podobne môžete použiť možnosti „krátkeho dátumu“ a „stredné údaje“.
Na čo treba pamätať
- Hodnota vrátená funkciou FORMAT je reťazec.
- Môžeme tiež použiť vlastné kódy na formátovanie dátumu, času a čísel, napríklad spôsob, akým ich používame pri formátovaní tabuľky.
- FORMAT je funkcia VBA a je k dispozícii iba vo VBA, nie v pracovnom hárku.