Tämä opetusohjelma osoittaa, kuinka CLng VBA -toimintoa käytetään lausekkeen muuntamiseen pitkäksi kokonaislukutietotyypiksi.
CLng -toiminto
VBA CLng Muunna lauseke pitkäksi
VBA CLng -toimintoa voidaan käyttää lausekkeiden muuntamiseen pitkiksi tietotyypeiksi VBA -koodin sisällä.
123456 | Osa CLngExample_1 ()MsgBox CLng (12.34) 'Tulos: 12MsgBox CLng (12.345) 'Tulos: 12MsgBox CLng (-124) 'Tulos: -124MsgBox CLng (-12,34) 'Tulos: -12End Sub |
VBA CLng pyöristys
VBA CLng -toiminto pyöristää numerotyypin tai numeron kaltaisen lausekkeen desimaaliosan. Se ei kuitenkaan pyöri oikein kaikissa tapauksissa. Kun desimaaliosa on 0,5, VBA CLng -funktio palauttaa lähimmän parillisen kokonaisluvun.
1234567891011 | Osa CLngExample_2 ()MsgBox CLng (0.34) 'Tulos: 0MsgBox CLng (0,99) 'Tulos: 1MsgBox CLng (-124,95) 'Tulos: -125MsgBox CLng (1.5) 'Tulos: 2MsgBox CLng (2.5) 'Tulos: 2End Sub |
Voimme lisätä desimaaliluvun suhteellisen pieneen odotettuun desimaaliarvoon muuttaaksemme VBA CLng -toiminnon käyttäytymisen odotetuksi.
1234567891011 | Osa CLngExample_3 ()MsgBox CLng (2.5)'Tulos on: 2MsgBox CLng (2,5 + 0,001)'Tulos on: 3MsgBox CLng (14.5)'Tulos: 14MsgBox CLng (14,5 + 0,001)'Tulos: 15End Sub |
VBA -ohjelmointi | Koodigeneraattori toimii sinulle!
VBA CLng, joka muuntaa merkkijonot pitkiksi
VBA CLng -toimintoa voidaan käyttää merkkijonojen muuttamiseen pitkiksi, jos merkkijonon merkillä on merkitys numeroina.
123456789101112131415161718 | Osa CLngExample_4 ()Dim StrEx merkkijononaStrEx = "112"MsgBox CLng (StrEx)'Tulos: 112StrEx = "112,3"MsgBox CLng (StrEx)'Tulos on: 112 112,3 on pyöristettyStrEx = "11,2"MsgBox CLng (StrEx)'Tulos: 112, jätetään huomiottaStrEx = "112 dollaria"MsgBox CLng (StrEx)'Tulos on: 112 dollaria jätetään huomiottaEnd Sub |
VBA CLng ajonaikainen virhe 13 Tyyppivirhe
Jos käytät VBA CLng -toimintoa merkkijonojen kanssa, jotka sisältävät ei-numeerisia merkkejä tai merkkejä, joilla ei ole merkitystä numeerisessa kontekstissa, tuloksena on ajonaikainen virhe '13': Tyyppivirhe.
1234567 | Osa CLngExample_5 ()'Alla oleva koodi johtaa ERROR -viestiin'CLng ei voi käsitellä muita kuin numeerisia merkkejäDim StrEx merkkijononaStrEx = "Ab13"MsgBox CLng (StrEx)End Sub |
VBA CLng ajonaikainen virhe 6 Ylivuoto
Jos käytät VBA CLng -toimintoa merkkijonojen kanssa, joiden arvo on odotettua kokonaislukua pienempi tai suurempi, tuloksena on ajonaikainen virhe '6': Ylivuoto. Excelin kokonaisluku -tietotyypin odotettu arvo on -2 147 483 648 -2 147 483 647.
1234567 | Osa CLngExample_6 ()'Alla oleva koodi johtaa ERROR -viestiin'CLng ei voi käsitellä muita kuin numeerisia merkkejäDim StrEx merkkijononaStrEx = "2147483648"MsgBox CLng (StrEx)End Sub |
Oletko kyllästynyt etsimään esimerkkejä VBA -koodista? Kokeile AutoMacroa!
VBA CLng Alueelliset asetukset
VBA CLng -toiminnolla on erilaisia käyttäytymistä muuntavia merkkijonoja pilkulla tai pisteellä. Se käyttää käyttöjärjestelmän alueasetuksia desimaalierottimelle ja numeroerottimelle.
12345678910111213141516 | Osa CLngExample_7 ()Dim StrEx merkkijononaStrEx = "1,9"MsgBox CLng (StrEx)"Jos alueellisissa asetuksissa on, ryhmittelyerottimena'Tulos: 19"Jos alueellisissa asetuksissa on, desimaalierottimena'Tulos: 2 (2 koska 1,9 pyöristetään)StrEx = "1,9"MsgBox CLng (StrEx)"Jos alueellisissa asetuksissa on. ryhmittelyerottimena sitten'Tulos: 19"Jos alueellisissa asetuksissa on. sitten desimaalierottimena'Tulos: 2 (2 koska 1,9 pyöristetään)End Sub |
VBA -ohjelmointi | Koodigeneraattori toimii sinulle!
VBA CLng Boolen muuntaminen pitkiksi
VBA CLng -toiminto voi muuntaa boolen muuttujat pitkiksi. Jos arvioitu lauseke on tosi, tuloksena oleva pitkä on -1 ja jos arvioitu lauseke on epätosi, tuloksena oleva pitkä on 0.
1234567891011121314 | Osa CLngExample_8 ()Dim BoolEx Boolen muodossaBoolEx = TottaMsgBox CLng (BoolEx)'Tulos: -1MsgBox CLng (2 = 2)'Tulos: -1BoolEx = vääräMsgBox CLng (BoolEx)'Tulos: 0MsgBox CLng (1 = 2)'Tulos: 0End Sub |
VBA CLng Päivämäärien muuntaminen pitkiksi
VBA CLng -toiminto voi muuttaa päivämäärämuuttujan pitkäksi. Palautettu arvo on Excelin sisäinen numero päivämäärän tallennukseen pyöristettynä. Jos tämä luku on VBA: n odotettujen pitkien rajojen ulkopuolella, saamme ajonaikaisen virheen '6': Ylivuoto.
123456789101112 | Osa CLngExample_9 ()Dim DateEx PäivämääränäDateEx = #2/3/1940 #MsgBox CLng (DateEx)Tulos: 14644DateEx = #8.7.1964 #MsgBox CLng (DateEx)Tulos: 23596DateEx = #3/7/1934 11:32:04 AM #MsgBox CLng (DateEx)Tulos: 12485End Sub |