Bu öğretici, bir ifadeyi tamsayı veri türüne dönüştürmek için CInt VBA işlevinin nasıl kullanılacağını gösterecektir.
CInt Fonksiyonu
VBA CInt İfadeyi Tamsayıya Dönüştür
VBA CInt işlevi, ifadeleri VBA kodu içindeki tamsayı veri türüne dönüştürmek için kullanılabilir. Ortaya çıkan sayı bir tamsayı olacak şekilde yuvarlanır.
123456 | Alt CIntExample_1()MsgBox CInt(12.34) 'Sonuç: 12MsgBox CInt(12.345) 'Sonuç: 12MsgBox CInt(-124) 'Sonuç: -124MsgBox CInt(-12.34) 'Sonuç: -12Alt Bitiş |
VBA CInt Yuvarlama
VBA CInt işlevi, bir sayı türünün veya sayı benzeri bir ifadenin ondalık bölümünü yuvarlar. Ancak, her durumda doğru yuvarlanmaz. Ondalık kısım 0,5 olduğunda, VBA CInt işlevi en yakın çift tamsayıyı döndürür.
12345678910111213141516 | Alt CIntExample_2()MsgBox CInt(0.34)'Sonuç: 0MsgBox CInt(0.99)'Sonuç: 1MsgBox CInt(-124.95)'Sonuç: -125MsgBox CInt(1.5)'Sonuç: 2MsgBox CInt(2.5)'Sonuç: 2Alt Bitiş |
VBA Cint işlevinin davranışını beklenen şekilde değiştirmek için, beklenen ondalık değerimize nispeten küçük bir ondalık sayı ekleyebiliriz.
1234567891011 | Alt CIntExample_3()MsgBox CInt(2.5)'Sonuç: 2MsgBox CInt(2,5 + 0,001)'Sonuç: 3MsgBox CInt(14.5)'Sonuç: 14MsgBox CInt(14,5 + 0,001)'Sonuç: 15Alt Bitiş |
VBA Programlama | Code Generator sizin için çalışıyor!
VBA CInt Dizeleri Tamsayılara Dönüştürme
VBA CInt işlevi, dizedeki karakterlerin sayı olarak bir anlamı varsa, dizeleri tam sayılara dönüştürmek için kullanılabilir.
123456789101112131415161718 | Alt CIntExample_4()Dize Olarak Dim StrExStEx = "112"MsgBox CInt(StrEx)'Sonuç: 112StrEx = "112.3"MsgBox CInt(StrEx)'Sonuç: 112 --> 112.3 yuvarlanırStrEx = "11,2"MsgBox CInt(StrEx)'Sonuç: 112 --> , yoksayıldıStrEx = "112$"MsgBox CInt(StrEx)'Sonuç: 112 --> $ yok sayılırAlt Bitiş |
VBA CInt Çalışma Zamanı Hatası 13 Tip Uyuşmazlığı
Sayısal olmayan karakterler veya sayısal bağlamda anlamı olmayan karakterler içeren dizelerle VBA Cint işlevinin kullanılması, Çalışma Zamanı hatası '13': Tür uyuşmazlığı ile sonuçlanacaktır.
1234567 | Alt CIntExample_5()'Aşağıdaki kod bir HATA mesajıyla sonuçlanacak'CInt sayısal olmayan karakterleri işleyemezDize Olarak Dim StrExStrEx = "Ab13"MsgBox CInt(StrEx)Alt Bitiş |
VBA CInt Çalışma Zamanı Hatası 6 Taşma
VBA Cint işlevinin, beklenen tamsayıdan daha küçük veya daha büyük bir değerle sonuçlanan dizelerle kullanılması, Çalışma Zamanı hatası '6': Taşma ile sonuçlanır. Excel'deki tamsayı veri türünün beklenen değeri -32768 ila 32767 arasındadır.
1234567 | Alt CIntExample_6()'Aşağıdaki kod bir HATA mesajıyla sonuçlanacak'CInt sayısal olmayan karakterleri işleyemezDize Olarak Dim StrExStrEx = "1234567"MsgBox CInt(StrEx)Alt Bitiş |
VBA Kodu Örnekleri Aramaktan Bıktınız mı? AutoMacro'yu deneyin!
VBA CInt Bölgesel Ayarları
VBA CInt işlevi, dizeleri virgül veya nokta ile dönüştüren farklı davranışlara sahiptir. Ondalık ayırıcı ve rakam ayırıcı için işletim sisteminin Bölgesel Ayarlarını kullanır.
12345678910111213141516 | Alt CIntExample_7()Dize Olarak Dim StrExStrEx = "1,9"MsgBox CInt(StrEx)'Bölgesel ayarlarda gruplama ayırıcısı varsa, o zaman'Sonuç: 19'Bölgesel ayarlarda ondalık ayırıcı olarak varsa'Sonuç: 2 (2 çünkü 1,9 yuvarlanır)StrEx = "1.9"MsgBox CInt(StrEx)'Bölgesel ayarlar varsa . o zaman gruplandırma ayırıcı olarak'Sonuç: 19'Bölgesel ayarlar varsa . ondalık ayırıcı olarak'Sonuç: 2 (2 çünkü 1,9 yuvarlanır)Alt Bitiş |
VBA Programlama | Code Generator sizin için çalışıyor!
Booleanları Tamsayılara Dönüştürme VBA CInt
VBA Cint işlevi, boole değişkenlerini tam sayılara dönüştürebilir. Değerlendirilen ifade doğruysa, elde edilen tam sayı -1'dir ve değerlendirilen ifade yanlışsa, elde edilen tam sayı 0'dır.
12345678910 | Alt CIntExample_8()Boole Olarak Dim BoolExBoolEx = DoğruMsgBox CInt(BoolEx) 'Sonuç: -1MsgBox CInt(2 = 2) 'Sonuç: -1BoolEx = YanlışMsgBox CInt(BoolEx) 'Sonuç: 0MsgBox CInt(1 = 2) 'Sonuç: 0Alt Bitiş |
Tarihleri Tamsayılara Dönüştürme VBA CInt
VBA Cint işlevi, bir tarih değişkenini bir tam sayıya dönüştürebilir. Döndürülen değer, Excel tarafından yuvarlanmış tarih depolaması için kullanılan dahili sayıdır. Bu sayı VBA için beklenen tamsayı sınırlarının dışındaysa, Çalışma Zamanı hatası '6': Taşma alırız.
123456789 | Alt CIntExample_9()Dim DateEx As DateDateEx = #2/3/1940#MsgBox CInt(DateEx)'Sonuç: 14644DateEx = #8/7/1964#MsgBox CInt(DateEx)'Sonuç: 23596Alt Bitiş |