Testujeme funkciu CCur
Funkcia CCur vracia menu. Rozsah návratovej hodnoty je od -922 337 203 685 477.5808
do 922 337 203 685 477.5807! Čiže premenná typu mena môže obsahovať najviac 15 čísiel
pred desatinnou čiarkou a 4 za desatinnou čiarkou. Táto premenná sa využíva hlavne pri finančných operáciách. Fajn,
poďme si danú funkciu CCur otestovať.
1. príklad: Testujeme formátovanie funkcie CCur
Sub macro REM začiatok makra
On Error Resume Next REM ak nastane chyba, nech makro beží ďalej
Dim i As Integer REM deklarácie premenných
Dim retazec As String
Dim pole()
REM naplňujeme naše pole
pole() = Array(6, 100, 15499, -1566, -89898989, 1000000000000000, "878", "-45454566145555555557", 11.454, 45.77889, -101.4444, -777.77777, "788.777789", &HBB2, &HCCB7, &HDFDC)
REM v cykle experimentujeme s funkciou CCur
For i = LBound(pole()) To UBound(pole())
retazec = retazec & i+1 & " CCur(" & pole(i) & ") = "
retazec = retazec & CCur(pole(i))
retazec = retazec & Chr(10)
Next
REM výpis na obrazovku
MsgBox retazec
End Sub REM koniec procedúry
Vidíme testovanie funkcie CCur
Rozbor makra:
Takže zhrňme si najdôležitejšie body, ktoré sú dôležité:
1 CCur(6) = 6.0000 – k číslu 6 pridá desatinnú čiarku a štyri 0 za desatinnou čiarkou
6 CCur(1E+15) = – prekročili sme maximálnu hodnotu
9 CCur(11,454) = 11.4540 – racionálne číslo doplní ešte jednou nulou
10 CCur(45,77889) = 45.7789 – 5 pozícia za desatinným číslom sa zaokrúhli
13 CCur(788.777789) = 788.7778 – ani získanie meny z reťazca nerobí problém
Testujeme funkcia Hex
Funkcia Hex nám vracia reťazec predstavujúci hexadecimálnu podobu čísla, čiže šestnásťkovú číselnú
sústavu.
Syntax funkcie Hex je nasledovná:
Hex(nejaké číslo ako argument)
Poďme na druhý príklad, kde si ukážeme pár argumentov pre funkciu Hex.
2. príklad: Testujeme argumenty funkcie Hex
Sub macro REM začiatok makra
On Error Resume Next REM ak nastane chyba, nech makro beží ďalej
Dim i As Integer REM deklarácie premenných
Dim retazec As String
Dim pole()
REM naplňujeme naše pole
pole() = Array(6, 100, 15499, 1000000000000000, "878", 11.554, 45.77889, "788.777789", &HBB2, &HCCB7, &HDFDC, "&HA2", "&HBC5")
REM v cykle experimentujeme s funkciou Hex
For i = LBound(pole()) To UBound(pole())
retazec = retazec & i+1 & " Hex(" & pole(i) & ") = "
retazec = retazec & Hex(pole(i))
retazec = retazec & Chr(10)
Next
REM výpis na obrazovku
MsgBox retazec
End Sub REM koniec procedúry
Výsledok činností makra
Rozbor makra:
Body, ktoré je dobré spomenúť:
2 Hex(100) = 64 – hexadecimálna hodnota desiatkového čísla 100 je 64
4 Hex(1E+15) = – pretečenie
5 Hex(878) = 36E – číslo v reťazci nie je problémom
13 Hex(&HBC5) = BC5 – z hexadecimálneho čísla do hexadecimálneho čísla, trochu bizarné ale poučné
Na záver funkcia Oct
Funkcia Oct má veľa spoločného s funkciou Hex, až na jednu kľúčovú vlastnosť. Vracia
osmičkovú podobu čísla, nie hexadecimálnu!
3. príklad: Testujeme argumenty funkcie Oct
Sub macro REM začiatok makra
On Error Resume Next REM ak nastane chyba, nech makro beží ďalej
Dim i As Integer REM deklarácie premenných
Dim retazec As String
Dim pole()
REM naplňujeme naše pole
pole() = Array(6, 100, 15499, 1000000000000000, "878", 11.554, 45.77889, "788.777789", &HBB2, &HCCB7, &HDFDC, "&HA2", "&HBC5")
REM v cykle experimentujeme s funkciou Oct
For i = LBound(pole()) To UBound(pole())
retazec = retazec & i+1 & " Oct(" & pole(i) & ") = "
retazec = retazec & Oct(pole(i))
retazec = retazec & Chr(10)
Next
REM výpis na obrazovku
MsgBox retazec
End Sub REM koniec procedúry
Výsledok činností makra
Ukázali sme si v tomto diely i v tých minulých formátovanie niektorých funkcii. Zatiaľ sme sa dátumu a času úspešne vyhýbali, pri tom táto problematika patrí medzi dôležité formátovacie úskalia. Konečne nastala chvíľa, kedy sa môžeme nato vrhnúť, tak sa máte načo tešiť.

V tomto článku si ukážeme formátovanie prevažne číselných argumentov pre funkcie CCur , Hex
a Oct .








