2016-06-15 52 views
7

VBA kodu için c, MAXINT gibi bir sabit arıyorum. Sadece başka dillerde referanslar buldum ve VBA için bir tane bulamıyorum.Tamsayı türü için maksimum değer için bir sabit var mı?

Böyle bir sabit yoksa, VBA'da bir int tutarı tutabilecek maksimum sayı nedir? 2147483647'yi denedim, ancak bir taşma hatası oluştu. VBA MAXINT sabitini sağlamaz.

+0

bir tamsayı maksimum 32767 değerini ve -32768 – omegastripes

+0

minimum Ve 'Long' için vardır, bu kadar' 2^31-1 = 2147483647'. AFAIK, bunun için sabitler yoktur. – Andre

+0

Artık 16-bit ortamları kullanmadığımız için, Uzun üzerine Tamsayı kullanmak neredeyse hiç mantıklı değil. – Andre

cevap

13

MAXINT = (2^15) -1 
Debug.Print MAXINT 
32767 

Yoksa standart modülün Declarations bölümünde bu bir Public sabit olarak tanımlayabilirsiniz: Ama kolayca değer elde edebilirsiniz

Public Const MAXINT As Integer = (2^15) - 1 

Sonra MAXINT için kullanılabilir olacaktır Bu uygulamadaki VBA kodunuzun geri kalanı.

Ve Long Integer için, maksimum değer olduğunu ...

MAXLONG = (2^31) -1 
Debug.Print MAXLONG 
2147483647 
VBA'DA