@BlackZeroAhh, ok, te lo había copiado de un código tuyo de no sé donde...

lo se pero yo lo hacia de la manera (Solo en/para numeros).
TipoNumerico1 = (TipoNumerico1.2 + TipoNumerico2)
Donde: TipoNumerico1.2 es del mismo tipo que TipoNumerico1 pero con valor 0... y el tipo resultante sera del tipo TipoNumerico1.2, mas no del TipoNumerico2...
ej.:
dim lVal as long
dim bVal as byte
lval = (&H0 + bVal)
y tu lo haces de una manera un poco mas ofuscada... ya que como sabras si pones
dim lVal as long
Const VAL as string = "10"
VAL
lval = (&H0 + VAL) ' // mas no (VAL + &H0)
Realizara su trabajo, pero le das mas trabajo independiente a el lenguaje y sabra solo el que resultados salgan... ya que como sabras "10" se deberia transformar a un valor de tipo numerico (Lo que yo hago en mi codigo y que seguro Raul338 me copio..

na no te creas es un gran programador

)