Tam Sayıya Excel VBA Dizesi
Dize ve Tamsayı yaygın veri türleridir, ancak genellikle veri analizimizin bir parçası olarak, dize veri türü değişkenini tamsayı veri türüne dönüştürmek isteyebiliriz ve bu, VBA'da “CINT” işlevini kullanarak mümkündür.

CINT İşlevinin Sözdizimi
"CINT", bir veri türü dönüştürme işlevi olarak kategorize edilir. Bu işlev, sağlanan ifadeyi bir Tamsayı veri türüne dönüştürür. "İfade" dediğimde, VBA'da Tamsayı veri tipi aralığında, yani -32768 ile 32767 arasında sayısal bir değer olmalıdır.
Şimdi, VBA'daki CINT işlevinin sözdizimine bakın.

- İfade , Tamsayı Veri Türüne dönüştürülecek değeri içeren değer veya değişkendir.
Bu makalede, "CINT" fonksiyonunu kullanarak dizeden tam sayıya tamsayı veri türü dönüşümünü göstereceğiz.
VBA'da CINT İşlevi Örnekleri
Örnek 1
Bir kesir sayısının Tamsayı Veri Türü'ne dönüştürülmesinin ilk örneğini gerçekleştirelim.
Kod:
Sub CINT_Example1 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 2564.589 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
- "Tamsayı" değişkeni için yukarıdaki kodda, değeri "2564.589" olarak atadım.
- Sonraki satırda, bir CINT işlevi uyguladım. Böylece sağlanan değeri en yakın tam sayıya dönüştürür.

Böylece sonucu aldık - 2565 ve verilen numara 2564.589. Ondalık değer 0,5'ten fazla olduğunda CINT işlevleri sayıyı bir sonraki tam sayıya yuvarlar. Ondalık değer 0,5 CINT işlevinden küçük veya eşit olduğunda aynı Tamsayı sayıya yuvarlar.
Bir örnek için, sayının 0,5'ten küçük olduğu aşağıdaki koda bakın.
Kod:
Sub CINT_Example1 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 2564 - 0.5 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
Bu, sonucu 2565 değil 2564 olarak vermelidir.

Örnek 2
Şimdi, Tamsayı veri türünün sınırından daha fazla olan sayıyı atamaya çalışacağım.
Kod:
Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 51456.785 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
Sayıyı, Tamsayı veri türü sınırının üzerinde olan “TamsayıSayı = 51456.785” olarak atadım. Şimdi kodu çalıştırmayı denersem, VBA'da bir taşma hatası atar.

Sağlanan sayı, Tamsayı veri türünden daha fazla olduğunda, "Sayı, Tamsayı Veri Türü Sınırından Daha Fazla" diyen basit mesaj kutusunu gösterelim.
Kod:
Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As IntegerIntegerNumber = 51456.785 Hatada GoTo Mesaj: IntegerResult = CInt (IntegerNumber) Mesaj: Err.Number = 6 ise MsgBox IntegerNumber & "Tamsayı Veri Türü Sınırından Daha Fazla" Sub
Bu, sağlanan sayı Tamsayı veri türü aralığı dışında olduğunda aşağıdaki gibi mesajı gösterecektir.

Örnek 3
Şimdi sayısal olmayan değeri atamaya çalışacağım.
Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = "Merhaba" IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
Değeri sayısal olmayan "Merhaba" olarak atadım. Bu, "Tür Uyuşmazlığı Hatasına" neden olur.

Hatayı bu şekilde göstermek yerine kullanıcının önüne basit bir bilgi mesaj kutusu koyalım. Aşağıdaki kod, "Sağlanan İfade Değeri Sayısal Değil, Dolayısıyla dönüştürülemez" mesaj kutusunu koyacaktır.
Kod:
Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As IntegerNumber = "Hello" On Error GoTo Message: IntegerResult = CInt (IntegerNumber) Message: Err.Number = 13 ise MsgBox IntegerNumber & ": Sağlanan İfade Değeri Sayısal Değildir , "End Sub
Bu, aşağıdaki mesaj kutusunu gösterecektir.

Hatırlanacak şeyler
- CINT, değeri başka bir veri türünden bir tamsayı veri türüne dönüştürür.
- Tam sayı -32768 ile 32767 arasındaki değerleri tutabilir, bu sayıların üzerindeki herhangi bir şey bir taşma hatasına neden olur.
- Yalnızca dize veri türü, tamsayı veri türüne dönüştürülecek sayısal verileri içerir.
Önerilen Makaleler
Bu, VBA String to Integer için bir rehber olmuştur. Burada, pratik örnekler ve indirilebilir excel şablonuyla birlikte CINT işlevini kullanarak Excel VBA'da dizeden tamsayıya örneklerini tartışıyoruz. Aşağıda VBA ile ilgili bazı yararlı makaleler bulunmaktadır -
- VBA Dizeyi Diziye Böl
- Bugüne Kadarki VBA Dizesi
- VBA String Karşılaştırması
- VBA Dizeyi Değiştir