Pues acabo de probar eso en un macro de excel, y la verdad es que no le encuentro explicación:
Código:
Sub ejemplo()
dato = 1.4 - 1
MsgBox (dato) 'esto devuelve 0,4
dato = dato * 100
MsgBox (dato) 'esto devuelve 40
dato = Int(dato)
MsgBox (dato) 'esto devuelve 39
End Sub
Si alguien tiene respuesta, sería interesante saber porqué VB trata eso de esta forma.