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 nezbytné v každém programovacím jazyce a VBA se nijak neliší. Bez použití proměnných je téměř nemožný úkol psát zdlouhavé kódy. Pokud jsou proměnné zásadní, 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 dáváme, je 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 LONG 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í „Chyba běhu 13: Neshoda typu“.

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

Příklad č. 1

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

Podívejte se například na níže uvedený kód.

Kód:

Sub CLNG_Example1 () Dim LongNumber jako řetězec Dim LongResult jako 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 řádku na proměnnou LONG.

Následující okno se zprávou zobrazí výsledek jako DLOUHÉ číslo převedené 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 zásadní pro opravu chyby. Když pečlivě prozkoumáte 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 LONG datový typ může přijímat pouze číselný datový typ, protože jsme proměnné dodali řetězcovou hodnotu, nemůže převést řetězcovou hodnotu nebo textovou hodnotu na dlouhý datový typ. Proto udává chybu jako „Neshoda typu“.

Příklad č. 3

Ještě jedna chyba, kterou dostaneme s datovým typem LONG, je „Chyba přetečení ve VBA“, tj. Datový typ Long variable může obsahovat hodnoty od -2 147 483 648 2 147 483 647. Jakákoli výše uvedená částka tedy způsobí chybu přetečení.

Podívejte se například 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, narazí na chybu „Přetečení“ .

Při převodu jakéhokoli jiného datového typu na datový typ Long tedy musíme mít na paměti všechny výše uvedené věci.

Tady si pamatovat

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

Zajímavé články...