Funkcia VBA CLng - Ako používať funkciu CLng? (s príkladmi)

Funkcia Excel VBA CLng

„CLNG“ znamená dátový typ „Konvertovať na dlhý“. Celé číslo je limit dátových typov medzi -32768 až 32767, takže všetko, čo chcete do týchto premenných uložiť, potom musíme vo VBA použiť dátový typ LONG.

Premenné sú nevyhnutné v každom programovacom jazyku a VBA sa tiež nelíši. Bez použitia premenných je takmer nemožné napísať zdĺhavé kódy. Ak sú premenné nevyhnutné, potom je premenná dátového typu, ktorú týmto premenným priradíme, ešte dôležitejšia, pretože dátový typ, ktorý im dávame, je výsledok, ktorý dostaneme.

Často môžeme numerickým údajom priradiť reťazec „String“, čo spôsobí pri výpočtoch chybu, takže pomocou funkcií prevodu môžeme previesť požadovaný údajový typ. Bežne používané funkcie prevodníka sú CLng, CInt, CDbl, CDate, CDec vo VBA. V tomto článku vám ukážeme funkciu prevodu celočíselného dátového typu „CLNG“.

Syntax

Nižšie je uvedená syntax funkcie CLNG.

  • Výraz nie je nič iné ako hodnota alebo premenná, ktorú chceme previesť na dátový typ LONG.

Poznámka: Hodnota, ktorú sa pokúšame previesť, by mala byť číselná, iná ako číselná hodnota spôsobí „Chyba pri behu 13: Nesúlad typu“.

Príklady použitia funkcie CLng vo VBA

Príklad č

Teraz uvidíme, ako prevedieme textovú uloženú hodnotu na dátový typ „Long“.

Napríklad si pozrite nasledujúci kód.

Kód:

Sub CLNG_Example1 () Dim LongNumber As String Dim LongResult As Long LongNumber = "2564589" LongResult = CLng (LongNumber) MsgBox LongResult End Sub

Takže teraz pozorne preskúmajte kód, aby ste pochopili, ako to funguje.

Najskôr sme deklarovali dve premenné, String a Long.

Kód:

Dim LongNumber As String Dim LongVýsledok Long

Pre reťazcovú premennú sme priradili číslo hodnoty, ale v dvojitých úvodzovkách, takže to urobí tak, že s číslom „2564589“ bude zaobchádzať ako s reťazcom, nie s „dlhou“ premennou. Teraz sme pre druhú premennú LongResult použili funkciu Clng (LongNumber) na prevod čísla uloženého v riadku na premennú LONG.

V nasledujúcom okne so správou sa zobrazí výsledok ako DLHÉ číslo prevedené z reťazca na dlhý údajový typ.

Výkon:

Príklad č

Teraz sa pozrite na nižšie uvedený kód.

Kód:

Sub CLNG_Example2 () Dim LongNumber As String Dim LongResult As Long LongNumber = "Long Number" LongResult = CLng (LongNumber) MsgBox LongResult End Sub

Toto by nám malo dať výsledok ako „Nesúlad typov“.

Porozumenie dôvodu, prečo sa chyba vyskytuje, je zásadné pre jej odstránenie. Keď podrobne preskúmate premenné pre prvú premennú LongNumber, priradili sme textovú hodnotu ako „Long Number“, potom sme na ich prevod na dátový typ LONG použili funkciu Excel VBA CLNG.

Dôvod, prečo sme sa dostali k tejto chybe, je ten, že dátový typ LONG môže akceptovať iba číselný dátový typ, pretože sme do premennej dodali reťazcovú hodnotu, nemôže prevádzať reťazcovú hodnotu alebo textovú hodnotu na dlhý údajový typ. Preto dáva chybu ako „Nesúlad typu“.

Príklad č

Ďalšou chybou, ktorú dostaneme s dátovým typom LONG, je „Chyba pretečenia vo VBA“, tj. Dátový typ Long môže obsahovať hodnoty od 2 147 483 648 2 147 483 647. Akákoľvek vyššia čiastka teda spôsobí chybu pretečenia.

Napríklad si pozrite nasledujúci kód.

Kód:

Sub CLNG_Example3 () Dim LongNumber As String Dim LongResult As Long LongNumber = "25645890003" LongResult = CLng (LongNumber) MsgBox LongResult End Sub

Pre premennú „LongNumber“ som priradil číslo „25645890003“, ktoré presahuje limit dátového typu „Long“. Keď spustíme vyššie uvedený kód, stretne sa s chybou „Overflow“ .

Pri prevode akéhokoľvek iného dátového typu na dátový typ Long teda musíme mať na pamäti všetky vyššie uvedené veci.

Tu si treba pamätať

  • CLNG znamená prevod na dlhý.
  • Táto funkcia prevádza druhý dátový typ na dlhý dátový typ.
  • Potrebujete poznať limit rozšíreného dátového typu, aby ste zabránili chybe pri pretečení.

Zaujímavé články...