VBA CLng İşlevi - CLng Fonksiyonu nasıl kullanılır? (Örneklerle)

Excel VBA CLng İşlevi

"CLNG", "Uzuna Dönüştür" veri türü anlamına gelir. Tamsayı veri türü sınırı -32768 ila 32767 arasındadır, bu nedenle bu değişkenlere depolamak istediğiniz herhangi bir fazlalık daha sonra VBA'da LONG veri türünü kullanmamız gerekir.

Değişkenler herhangi bir programlama dilinde gereklidir ve VBA da farklı değildir. Değişkenler kullanmadan uzun kodlar yazmak neredeyse imkansız bir iştir. Değişkenler gerekliyse, bu değişkenlere atadığımız veri türü değişkeni daha da kritiktir çünkü onlara verdiğimiz veri türü aldığımız sonuçtur.

Çoğu zaman sayısal verileri "String" olarak atayabiliriz, bu nedenle bu, hesaplamalar yaparken bir hata verir, bu nedenle dönüştürme işlevlerini kullanarak istediğimiz veri türünü dönüştürebiliriz. Yaygın olarak kullanılan dönüştürücü işlevleri, VBA'da CLng, CInt, CDbl, CDate, CDec'dir. Bu makalede, size tamsayı veri türü dönüştürme işlevi "CLNG" hakkında bilgi vereceğiz.

Sözdizimi

Aşağıda CLNG işlevinin sözdizimi verilmiştir.

  • İfade , LONG veri türüne dönüştürmek istediğimiz değer veya değişkenden başka bir şey değildir.

Not: Dönüştürmeye çalıştığımız değer, sayısal değerden başka herhangi bir sayısal değer olmalıdır "Çalıştırma Süresi Hatası 13: Tür Uyuşmazlığı" na neden olur .

VBA'da CLng İşlevini Kullanma Örnekleri

Örnek 1

Şimdi, metin depolanan değeri "Uzun" veri türüne nasıl dönüştürebileceğimizi göreceğiz.

Örneğin, aşağıdaki koda bakın.

Kod:

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

Şimdi, bunun nasıl çalıştığını anlamak için kodu yakından inceleyin.

İlk olarak, sırasıyla String ve Long olmak üzere iki değişken tanımladık.

Kod:

Dim LongSult As String Dim LongResult As Long

Dize değişkeni için, değer numarasını atadık, ancak çift tırnak içinde, bu yüzden bunun yapacağı şey, "2564589" sayısını bir "Uzun" değişken olarak değil, bir dize olarak ele alacak. Şimdi diğer değişken olan LongResult için, satırda saklanan sayıyı LONG değişkenine dönüştürmek için Clng (LongNumber) işlevini kullandık.

Sonraki mesaj kutusu, sonucu dizeden uzun veri türüne dönüştürülmüş UZUN bir sayı olarak gösterecektir.

Çıktı:

Örnek 2

Şimdi aşağıdaki koda bir göz atın.

Kod:

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

Bu bize "Tür Uyuşmazlığı" sonucunu vermelidir .

Hatanın neden oluştuğunu anlamak, hatayı düzeltmek için çok önemlidir. İlk değişken LongNumber için değişkenleri yakından incelediğinizde, metin değerini "Uzun Sayı" olarak atadık, ardından bunu LONG veri türüne dönüştürmek için excel VBA CLNG işlevini kullandık.

Bu hatayı almamızın nedeni, LONG veri türünün, değişkene dize değeri sağladığımız için yalnızca sayısal veri türünü kabul edebilmesi, dize değerini veya metin değerini uzun bir veri türüne dönüştürememesidir. Bu nedenle, hatayı "Tür Uyuşmazlığı" olarak verir.

Örnek 3

LONG veri tipiyle elde ettiğimiz bir başka hata da "VBA'da Taşma Hatası" dır, yani Long değişken veri türü -2.147.483.648 2.147.483.647 değerleri tutabilir. Dolayısıyla, bunun üzerindeki herhangi bir miktar bir taşma hatasına neden olacaktır.

Örneğin, aşağıdaki koda bakın.

Kod:

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

"LongNumber" değişkeni için, "Long" veri türünün sınırını aşan "25645890003" numarasını atadım. Yukarıdaki kodu çalıştırdığımızda, bir "Taşma" hatasıyla karşılaşacaktır .

Bu nedenle, diğer herhangi bir veri türünü Uzun veri türüne dönüştürürken, yukarıdaki tüm şeyleri aklımızda tutmamız gerekir.

Burada Hatırlanması Gereken Şey

  • CLNG, uzuna dönüştür anlamına gelir.
  • Bu işlev, diğer veri türünü uzun bir veri türüne dönüştürür.
  • Taşma hatasını önlemek için genişletilmiş veri türünün sınırını bilmeniz gerekir.

Ilginç makaleler...