Acest tutorial va arăta cum să utilizați funcția CLng VBA pentru a converti o expresie la tipul de date întreg întreg.
Funcția CLng
VBA CLng Conversia expresiei în lung
Funcția VBA CLng poate fi utilizată pentru a converti expresiile în tipul de date lung din interiorul codului VBA.
123456 | Sub CLngExample_1 ()MsgBox CLng (12.34) „Rezultatul este: 12MsgBox CLng (12.345) „Rezultatul este: 12MsgBox CLng (-124) 'Rezultatul este: -124MsgBox CLng (-12.34) 'Rezultatul este: -12Sfârșitul Sub |
VBA CLng Rounding
Funcția VBA CLng va rotunji partea zecimală a unui tip de număr sau a unei expresii asemănătoare unui număr. Cu toate acestea, nu se rotunjește corect în toate cazurile. Când partea zecimală este 0,5, atunci funcția VBA CLng returnează cel mai apropiat număr întreg.
1234567891011 | Sub CLngExample_2 ()MsgBox CLng (0.34) „Rezultatul este: 0MsgBox CLng (0.99) „Rezultatul este: 1MsgBox CLng (-124.95) „Rezultatul este: -125MsgBox CLng (1.5) „Rezultatul este: 2MsgBox CLng (2.5) „Rezultatul este: 2Sfârșitul Sub |
Putem adăuga un număr zecimal relativ mic la valoarea zecimală așteptată pentru a schimba comportamentul funcției VBA CLng la cel așteptat.
1234567891011 | Sub CLngExample_3 ()MsgBox CLng (2.5)„Rezultatul este: 2MsgBox CLng (2,5 + 0,001)„Rezultatul este: 3MsgBox CLng (14.5)„Rezultatul este: 14MsgBox CLng (14,5 + 0,001)„Rezultatul este: 15Sfârșitul Sub |
Programare VBA | Generatorul de coduri funcționează pentru dvs.!
VBA CLng Conversia șirurilor în lungimi
Funcția VBA CLng poate fi utilizată pentru a converti șirurile în lunguri dacă caracterele din șir au un sens ca numere.
123456789101112131415161718 | Sub CLngExample_4 ()Dim StrEx Ca șirStrEx = "112"MsgBox CLng (StrEx)„Rezultatul este: 112StrEx = "112,3"MsgBox CLng (StrEx)'Rezultatul este: 112 112,3 este rotunjitStrEx = "11,2"MsgBox CLng (StrEx)„Rezultatul este: 112, este ignoratStrEx = "112 USD"MsgBox CLng (StrEx)'Rezultatul este: 112 $ este ignoratSfârșitul Sub |
VBA CLng Run-Time Error 13 Type Mismatch
Utilizarea funcției VBA CLng cu șiruri care conțin caractere nenumerice sau caractere care nu au semnificație în context numeric va avea ca rezultat o eroare în timp de execuție „13”: Tip nepotrivire.
1234567 | Sub CLngExample_5 ()„Codul de mai jos va avea ca rezultat un mesaj de EROARE„CLng nu poate gestiona caractere nenumericeDim StrEx Ca șirStrEx = "Ab13"MsgBox CLng (StrEx)Sfârșitul Sub |
VBA CLng Run-Time Error Overflow
Utilizarea funcției VBA CLng cu șiruri care au ca rezultat o valoare mai mică sau mai mare decât numărul întreg așteptat va avea ca rezultat o eroare în timp de rulare „6”: Overflow. Tipul de date întregi în Excel are o valoare așteptată de -2.147.483.648 până la 2.147.483.647.
1234567 | Sub CLngExample_6 ()„Codul de mai jos va avea ca rezultat un mesaj de EROARE'CLng nu poate gestiona caractere nenumericeDim StrEx Ca șirStrEx = "2147483648"MsgBox CLng (StrEx)Sfârșitul Sub |
V-ați săturat să căutați exemple de cod VBA? Încercați AutoMacro!
Setări regionale VBA CLng
Funcția VBA CLng are un comportament diferit de conversie a șirurilor cu virgulă sau punct. Utilizează setările regionale ale sistemului de operare pentru separatorul zecimal și separatorul de cifre.
12345678910111213141516 | Sub CLngExample_7 ()Dim StrEx Ca șirStrEx = "1,9"MsgBox CLng (StrEx)„Dacă setările regionale au, ca separator de grupare atunci„Rezultatul este: 19„Dacă setările regionale au, ca separator zecimal atunci'Rezultatul este: 2 (2 pentru că 1.9 se rotunjește)StrEx = "1.9"MsgBox CLng (StrEx)‘Dacă setările regionale au. ca separator de grupare atunci„Rezultatul este: 19‘Dacă setările regionale au. ca separator zecimal atunci'Rezultatul este: 2 (2 pentru că 1.9 se rotunjește)Sfârșitul Sub |
Programare VBA | Generatorul de coduri funcționează pentru dvs.!
VBA CLng Conversia booleenilor în lungimi
Funcția VBA CLng poate converti variabilele booleene în lungimi. Dacă expresia evaluată este adevărată, lungimea rezultată este -1 și dacă expresia evaluată este falsă, lungimea rezultată este 0.
1234567891011121314 | Sub CLngExample_8 ()Dim BoolEx Ca booleanBoolEx = AdevăratMsgBox CLng (BoolEx)'Rezultatul este: -1MsgBox CLng (2 = 2)'Rezultatul este: -1BoolEx = FalsMsgBox CLng (BoolEx)'Rezultatul este: 0MsgBox CLng (1 = 2)'Rezultatul este: 0Sfârșitul Sub |
VBA CLng Conversia datelor în lungi
Funcția VBA CLng poate converti o variabilă de dată într-o lungă. Valoarea returnată este numărul intern utilizat de excel pentru stocarea datei rotunjită. Dacă numărul respectiv se află în afara limitelor lungi așteptate pentru VBA, atunci vom primi o eroare în timp de execuție „6”: Overflow.
123456789101112 | Sub CLngExample_9 ()Dim DateEx Ca datăDateEx = # 3/3/1940 #MsgBox CLng (DateEx)'Rezultatul este: 14644DateEx = # 8/7/1964 #MsgBox CLng (DateEx)„Rezultatul este: 23596DateEx = # 3/7/1934 11:32:04 AM #MsgBox CLng (DateEx)'Rezultatul este: 12485Sfârșitul Sub |