el subtipo doble variante excede el valor máximo

cuando miro la documentación del "Tipo de datos de variante", dice que la variante con subtipo de doble puede admitir un valor positivo de "1.79769313486232E308" (15 dígitos) y que "Se produce un error cuando las variables de Variante contienen Moneda, Decimal , y los valores dobles exceden sus rangos respectivos ". Sin embargo, cuando estoy ejecutando el siguiente código:

y = 999999999999999999999999999
y = CStr(CDBL(y))
MsgBox y

No recibo un error, en cambio obtengo un msgbox con el siguiente resultado: "1e + 27" (27 es el número de dígitos en y).

¿Cuál es la explicación a esto? ¿Cómo se almacena "y" en la memoria?

No he encontrado una respuesta ni en la documentación de variantes ni en la documentación de la función CDbl.

Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta