Tamsayı (Int) Değişken Türü
VBA Int veri türü, tam sayıları depolamak için kullanılır (ondalık değerler yok). Ancak aşağıda göreceğimiz gibi, Tamsayı değerleri -32768 ile 32768 aralığında olmalıdır.
Bir Int değişkeni bildirmek için Dim İfadesini kullanırsınız (Boyut'un kısaltması):
1 | Tamsayı olarak Dim intA |
Ardından, bir değişkene değer atamak için eşittir işaretini kullanmanız yeterlidir:
1 | intA = 30000 |
Bunu bir prosedüre koymak şöyle görünür:
12345678 | Alt IntÖrnek()'tamsayı bildirTamsayı olarak Dim intA'tamsayıyı doldurintA = 30000'mesaj kutusunu gösterMsgBox intAAlt Bitiş |
Yukarıdaki kodu çalıştırırsanız, aşağıdaki mesaj kutusu gösterilecektir.
Uzun Değişken Tip
Yukarıda belirtildiği gibi, Int değişkenleri yalnızca -32768 ile 32768 arasındaki değerleri depolayabilir. Bir Int değişkenine bu aralığın dışında bir değer atamaya çalışırsanız bir hata alırsınız:
Hata ayıklamaya tıkladığınızda, kod şu anda kırılacaktır. 'tamsayı çizgisini doldur bir tamsayı olarak, 50000 kadar yüksek bir sayıyı depolayamaz.
Bunun yerine, bir değişken bildirebilirsiniz. Uzun veri tipi:
1 | Uzun A kadar Dim |
Uzun Değişkenler çok uzun veri türlerini depolayabilir (-2.147.483.648 ila 2.147.483.648).
<>
Neden Uzun değişkenler yerine Int değişkenlerini kullanırsınız?
Uzun değişkenler daha fazla bellek kullanır. Yıllar önce, kod yazarken bellek büyük bir endişe kaynağıydı, ancak şimdi bilgi işlem teknolojisi çok gelişti ve VBA kodu yazarken uzun değişkenlerin neden olduğu bellek sorunlarıyla karşılaşmanız şüpheli.
Int değişkenleri yerine her zaman Uzun değişkenler kullanmanızı öneririz. Bu eğitime Int değişkenlerini tartışarak devam edeceğiz, ancak bunun yerine Long değişken türünü kullanabileceğinizi unutmayın.
Ondalık Değerler ve Int Veri Türleri
Int değişkenleri ondalık değerleri depolayamaz. Ondalık bir sayı bir tam sayı iletirseniz, ondalık sayıyı çıkarmak için ondalık sayı yuvarlanır.
Bu nedenle, aşağıdaki prosedürü uygularsanız:
12345678 | Alt IntExampleB()'tamsayı bildirTamsayı olarak Dim intA'tamsayıyı doldurintA = 3524.12'mesaj kutusunu gösterMsgBox intAAlt Bitiş |
Aşağıdaki sonucu alırsınız (aşağı yuvarlama):
Ancak, aşağıdaki kod:
12345678 | Alt IntExampleB()'tamsayı bildirTamsayı olarak Dim intA'tamsayıyı doldurintA = 3524,52'mesaj kutusunu gösterMsgBox intAAlt Bitiş |
Aşağıdaki mesaj kutusunu döndürür (yuvarlama):
Ondalık / Çift Veri Türü
Bir ondalık basamak saklamak istiyorsanız, ondalık basamaklara izin veren bir değişken bildirmeniz gerekir. Kullanabileceğiniz 3 veri türü vardır - Tek, Çift veya Para Birimi.
1 | Tek Olarak Dim sngPrice |
1 | Çift olarak dblPrice Dim |
1 | Para Birimi Olarak Dim curPrice |
Tek veri türü, ondalık noktayı double ve para birimi veri türünden biraz farklı bir şekilde yuvarlar, bu nedenle doğruluk için çift ila tek kullanılması tercih edilir. Double, 12 ondalık basamağa sahip olabilirken, para birimi ve single'ın her ikisi de 4'e kadar ondalık basamağa sahip olabilir.
Bu veri türleri hakkında daha fazla bilgi için buraya bakabilirsiniz.
Modül veya Global Düzeyde Int Değişken Bildirin
Önceki örneklerde, Int değişkenini bir prosedür içinde tanımlamıştık. Bir prosedürle bildirilen değişkenler yalnızca o prosedür içinde kullanılabilir.
Bunun yerine, Int değişkenlerini modül veya global düzeyde tanımlayabilirsiniz.
Modül Seviyesi
Modül seviyesi değişkenler, kod modüllerinin en üstünde şu şekilde bildirilir: loş Beyan.
Bu değişkenler, o kod modülündeki herhangi bir prosedürle kullanılabilir.
Küresel düzey
Küresel düzey değişkenler ayrıca kod modüllerinin en üstünde bildirilir. Ancak, kullanmak yerine loş ifadesini kullanın Halk tamsayı değişkeninin VBA Projeniz boyunca kullanılabilir olduğunu belirten ifade.
1 | Tamsayı olarak Genel IntA |
Tamsayıyı bir modül düzeyinde bildirirseniz ve ardından farklı bir modülde kullanmayı denerseniz, bir hata oluşur.
Ancak, tamsayıyı bildirmek için Public anahtar sözcüğünü kullanmış olsaydınız, hata oluşmaz ve prosedür mükemmel şekilde çalışırdı.
String'i Int'ye Dönüştür
Dize olarak saklanan bir sayıyı bir tamsayı değerine dönüştürmeniz gerekeceği bir örnek veya örnekler olabilir.
Hemen pencerede, tamsayı değerinin bir sayıyı belirten sağa gittiğini, dize değerinin ise metni belirten sola gittiğini fark edeceksiniz.
Int'yi String'e Dönüştür
Tersine, bir tamsayı değerini bir dizgeye dönüştürebilirsiniz.
Bu veri türleri hakkında daha fazla bilgi için buraya bakabilirsiniz.
Dize Olarak Depolanan Tam Sayıyı Biçimlendir
<>