Creo que llegue un poco tarde.. pero para ese tipo de operaciones lo que hago es convertir... porque la funcion val la puedo usar pero ocupa mas memoria ya que es de tipo variant.. que un Cint
c = CInt(a) + CInt(b)
Y hay otras como:
Cbool -Boolean
Cbyte -Byte
Ccur -Currency
Cdate -Date
CDbl- Double
Cint -Integer
CLng -Long
CStr -String
..etc...
ya que cada función convierte una expresión a un tipo de datos específico.
Saludos y suerte