Ši pamoka parodys, kaip naudoti funkciją CLng VBA, norint išraišką konvertuoti į ilgų sveikų duomenų tipą.
CLng funkcija
VBA CLng Konvertuokite išraišką į ilgą
Funkcija VBA CLng gali būti naudojama išraiškoms konvertuoti į ilgus duomenų tipus VBA kode.
123456 | CLngExample_1 antraštė ()„MsgBox CLng“ (12.34) „Rezultatas: 12„MsgBox CLng“ (12.345) „Rezultatas: 12„MsgBox CLng“ (-124) rezultatas: -124„MsgBox CLng“ (–12,34) „Rezultatas: -12Pabaiga Sub |
VBA CLng apvalinimas
Funkcija VBA CLng suapvalins dešimtainę skaičių tipo ar skaičiaus išraiškos dalį. Tačiau ne visais atvejais jis apvalinamas teisingai. Kai dešimtainė dalis yra 0,5, funkcija VBA CLng grąžina artimiausią lyginį sveikąjį skaičių.
1234567891011 | CLngExample_2 ()„MsgBox CLng“ (0,34) rezultatas: 0„MsgBox CLng“ (0,99) „Rezultatas: 1„MsgBox CLng“ (-124,95) „Rezultatas: -125„MsgBox CLng“ (1.5) rezultatas: 2„MsgBox CLng“ (2.5) rezultatas: 2Pabaiga Sub |
Prie numatomos dešimtainės vertės galime pridėti santykinai mažą dešimtainį skaičių, kad pakeistume VBA CLng funkcijos elgseną į numatytą.
1234567891011 | CLngExample_3 ()„MsgBox CLng“ (2.5)'Rezultatas: 2„MsgBox CLng“ (2,5 + 0,001)'Rezultatas: 3„MsgBox CLng“ (14.5)„Rezultatas: 14„MsgBox CLng“ (14,5 + 0,001)'Rezultatas: 15Pabaiga Sub |
VBA programavimas | Kodo generatorius jums tinka!
VBA CLng konvertuoja eilutes į ilgus
Funkcija VBA CLng gali būti naudojama konvertuoti eilutes į ilgus, jei eilutės simboliai turi reikšmę kaip skaičiai.
123456789101112131415161718 | CLngExample_4 ()„Dim StrEx“ kaip eilutėStrEx = "112"„MsgBox CLng“ („StrEx“)Rezultatas: 112StrEx = "112,3"„MsgBox CLng“ („StrEx“)„Rezultatas: 112 112,3 yra suapvalintasStrEx = "11,2"„MsgBox CLng“ („StrEx“)„Rezultatas: 112, ignoruojamas„StrEx“ = „112 USD“„MsgBox CLng“ („StrEx“)„Rezultatas: 112 USD nepaisomaPabaiga Sub |
VBA CLng vykdymo laiko klaida 13 Tipo neatitikimas
Naudojant VBA CLng funkciją su eilutėmis, kuriose yra neskaitinių simbolių arba simbolių, kurie neturi reikšmės skaitiniame kontekste, atsiras vykdymo laiko klaida „13“: tipo neatitikimas.
1234567 | CLngExample_5 ()„Žemiau pateiktas kodas parodys klaidos pranešimą„CLng negali apdoroti ne skaitinių simbolių„Dim StrEx“ kaip eilutėStrEx = "Ab13"„MsgBox CLng“ („StrEx“)Pabaiga Sub |
VBA CLng vykdymo laiko klaida 6 perpildymas
Naudojant funkciją VBA CLng su eilutėmis, kurių vertė yra mažesnė arba didesnė už numatomą skaičių, atsiras vykdymo laiko klaida „6“: perpildymas. Tikėtina, kad „Excel“ sveikojo skaičiaus duomenų tipas yra nuo 2 147 483 648 iki 2 147 483 647.
1234567 | CLngExample_6 ()„Žemiau pateiktas kodas parodys klaidos pranešimą„CLng negali apdoroti ne skaitinių simbolių„Dim StrEx“ kaip eilutėStrEx = "2147483648"„MsgBox CLng“ („StrEx“)Pabaiga Sub |
Pavargote ieškoti VBA kodo pavyzdžių? Išbandykite „AutoMacro“!
VBA CLng regioniniai nustatymai
Funkcija VBA CLng turi skirtingą elgseną, konvertuojančią eilutes kableliais ar taškais. Jis naudoja operacinės sistemos regioninius nustatymus dešimtainiam ir skaitmenų skyrikliui.
12345678910111213141516 | CLngExample_7 ()„Dim StrEx“ kaip eilutė„StrEx“ = „1,9“„MsgBox CLng“ („StrEx“)„Jei yra regioniniai nustatymai, tada kaip grupavimo atskyriklis„Rezultatas: 19„Jei regioniniai nustatymai turi, kaip dešimtainis skyriklis, tada„Rezultatas: 2 (2, nes 1,9 suapvalinamas)StrEx = "1,9"„MsgBox CLng“ („StrEx“)„Jei regioniniai nustatymai turi. kaip grupavimo atskyrėjas tada„Rezultatas: 19„Jei regioniniai nustatymai turi. kaip dešimtainis skyriklis tada„Rezultatas: 2 (2, nes 1,9 suapvalinamas)Pabaiga Sub |
VBA programavimas | Kodo generatorius jums tinka!
VBA CLng, konvertuojantis loginius į ilgus
VBA CLng funkcija gali konvertuoti loginius kintamuosius į ilgus. Jei įvertinta išraiška yra teisinga, gautasis ilgis yra -1, o jei įvertinta išraiška klaidinga, gauta ilga yra 0.
1234567891011121314 | CLngExample_8 ()„Dim BoolEx“ kaip „Boolean“„BoolEx“ = tiesa„MsgBox CLng“ („BoolEx“)Rezultatas: -1„MsgBox CLng“ (2 = 2)Rezultatas: -1BoolEx = klaidinga„MsgBox CLng“ („BoolEx“)'Rezultatas: 0„MsgBox CLng“ (1 = 2)'Rezultatas: 0Pabaiga Sub |
VBA CLng Datų konvertavimas į ilgus
VBA CLng funkcija gali konvertuoti datos kintamąjį į ilgą. Grąžinta vertė yra vidinis skaičius, kurį „Excel“ naudoja datos saugojimui, suapvalintas. Jei šis skaičius viršija numatytas ilgas VBA ribas, tada gauname vykdymo laiko klaidą „6“: perpildymas.
123456789101112 | CLngExample_9 ()Dim DateEx kaip dataDateEx = #2/3/1940 #„MsgBox CLng“ („DateEx“)Rezultatas: 14644DateEx = #1964-08-07 #„MsgBox CLng“ („DateEx“)Rezultatas: 23596DateEx = 1934-07-07 11:32:04 #„MsgBox CLng“ („DateEx“)Rezultatas: 12485Pabaiga Sub |