Funkce VBA CLng | Jak používat funkci CLng? (s příklady)

Funkce Excel VBA CLng

„CLNG“ znamená datový typ „Převést na dlouhý“. Celé číslo je omezeno na datový typ mezi -32768 až 32767, takže cokoli, co chcete do těchto proměnných uložit, pak musíme použít dlouhý datový typ ve VBA.

Proměnné jsou klíčem v jakémkoli programovacím jazyce a VBA se nijak neliší. Bez použití proměnných je téměř nemožný úkol psát dlouhé kódy. Pokud jsou proměnné důležité, pak je proměnná datového typu, kterou těmto proměnným přiřadíme, ještě důležitější, protože datový typ, který jim přiřadíme, je konečným výsledkem, který dostaneme.

Často můžeme číselná data přiřadit jako „String“, takže při výpočtech to způsobí chybu, takže pomocí funkcí převodu můžeme převést požadovaný datový typ. Běžně používané funkce převaděče jsou CLng, CInt, CDbl, CDate, CDec ve vba. V tomto článku vám ukážeme funkci převodu celočíselného datového typu „CLNG“.

Syntax

Níže je uvedena syntaxe funkce CLNG.

  • Výraz není nic jiného než hodnota nebo proměnná, kterou chceme převést na dlouhý datový typ.

Poznámka: Hodnota, kterou se pokoušíme převést, by měla být numerická, cokoli jiného než numerická hodnota způsobí „Run Time Error 13: Type Mismatch“

Příklady použití funkce CLng ve VBA

Tuto šablonu VBA CLNG Excel si můžete stáhnout zde - Šablona VBA CLNG Excel

Příklad č. 1

Nyní uvidíme, jak převedeme textovou uloženou hodnotu na datový typ „Long“.

Například se podívejte na níže uvedený kód.

Kód:

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

Nyní tedy důkladně prozkoumejte kód, abyste pochopili, jak to funguje.

Nejprve jsme deklarovali dvě proměnné String a Long.

Kód:

 Dim LongNumber As String Dim LongVýsledek Long 

Pro řetězcovou proměnnou jsme přiřadili číslo hodnoty, ale v uvozovkách, takže to udělá to, že bude s číslem „2564589“ zacházet jako s řetězcem, ne jako s „dlouhou“ proměnnou. Nyní pro druhou proměnnou LongResult jsme použili funkci Clng (LongNumber) k převodu uloženého čísla řetězce na proměnnou LONG.

Následující okno se zprávou zobrazí výsledek jako DLOUHÉ číslo, které je převedeno z řetězce na dlouhý datový typ.

Výstup:

Příklad č. 2

Nyní se podívejte na níže 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 

To by nám mělo dát výsledek jako „Neshoda typu“ .

Pochopení, proč k chybě dochází, je velmi důležité chybu opravit. Když se pozorně podíváte na proměnné pro první proměnnou LongNumber, přiřadili jsme textovou hodnotu jako „Long Number“, pak jsme k převodu na datový typ LONG použili funkci Excel VBA CLNG.

Důvod, proč jsme dostali tuto chybu, je ten, že DLOUHÝ datový typ může přijímat pouze číselný datový typ, protože jsme do proměnné dodali řetězcovou hodnotu, kterou nemůže převést řetězcovou hodnotu nebo textovou hodnotu na dlouhý datový typ, takže dává chybu jako „ Neshoda typu".

Příklad č. 3

Ještě jednou chybou, kterou dostaneme s DLOUHÝM datovým typem, je „Chyba přetečení ve VBA“, tj. Dlouhý datový typ proměnné může obsahovat hodnoty od -2 147 483 648 do 2 147 483 647. Jakákoli hodnota nad touto hodnotou způsobí chybu přetečení.

Například se podívejte na níže uvedený kód.

Kód:

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

Proměnné „LongNumber“ jsem přidělil číslo „25645890003“, které přesahuje limit datového typu „Long“. Když spustíme výše uvedený kód, dojde k chybě „Přetečení“ .

Když tedy převádíte jakýkoli jiný datový typ na datový typ Long, musíme mít na paměti všechny výše uvedené věci.

Co si pamatovat tady

  • CLNG znamená převod na dlouhý.
  • Tato funkce převádí druhý datový typ na dlouhý datový typ.
  • Musíte znát limit dlouhého datového typu, abyste zabránili chybě přetečení.