2016-06-15 21 views
7

Sto cercando una costante come MAXINT in c, per codice VBA. Ho trovato riferimenti solo in altre lingue e non riesco a trovarne uno per VBA.Esiste una costante per il valore massimo per il tipo intero?

Se non esiste una costante di questo tipo, qual è il numero massimo che un int in VBA può contenere? Ho provato 2147483647 ma ho ricevuto un errore di overflow.

+0

un intero in VBA ha un valore massimo di 32767 e un minimo di -32768 – omegastripes

+0

E per un 'Long', è' 2^31-1 = 2147483647'. AFAIK, non ci sono costanti per questo. – Andre

+0

Va notato che dal momento che non utilizziamo più gli ambienti a 16 bit, quasi mai ha senso usare Integer su Long. – Andre

risposta

13

VBA non fornisce una costante MAXINT. Ma si può ricavare il valore facilmente:

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

Oppure si potrebbe definire come una costante Public con questo nella sezione Dichiarazioni di un modulo standard:

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

Poi MAXINT sarebbe disponibile per il resto del codice VBA in quella applicazione.

E per Long Integer, il valore massimo è ...

MAXLONG = (2^31) -1 
Debug.Print MAXLONG 
2147483647 
Problemi correlati