Qual è il significato dell’uso del simbolo #
in Excel VBA?
È usato così:
a = b /100#
Non capisco il significato di #
dopo il 100
?
Il carattere di dichiarazione del tipo per Double è il segno numerico (#). Chiamato anche HASH
Altri caratteri di dichiarazione del tipo sono:
Non capisco il significato di # qui.
Ciò implica che quando l’espressione viene valutata, il numero davanti al carattere di dichiarazione del tipo viene considerato come un tipo di dati specifico anziché come Variant.
Vedi questo esempio, che sono fondamentalmente gli stessi.
Sub Sample1() Dim a# a = 1.2 Debug.Print a End Sub Sub Sample2() Dim a As Double a = 1.2 Debug.Print a End Sub
MODIFICARE
Lascia che ti spieghi un po ‘più in dettaglio.
Considera queste due procedure
Sub Sample1() Dim a As Double, b As Integer b = 32767 a = b * 100 Debug.Print a End Sub Sub Sample2() Dim a As Double, b As Integer b = 32767 a = b * 100# Debug.Print a End Sub
Domanda : uno di questi fallirà. riesci a indovinare quale?
Risposta : La 1a procedura Sub Sample1()
avrà esito negativo.
Motivo :
In Sample2
, quando Sample2
b * 100#
il risultato del calcolo sarà di tipo Double
. Poiché si trova entro i limiti di Double, quindi il calcolo ha esito positivo e il risultato è assegnato alla variabile a
.
Ora in Sample1
, quando Sample1
b * 100
il risultato del calcolo sarà di tipo Integer
, poiché entrambi gli operandi sono di tipo intero. Ma il risultato del calcolo supera i limiti della memoria Integer. Di conseguenza, genererà un errore.
Spero che sia d’aiuto 🙂