Seguramente para los tipos numéricos con 2 decimales tienes que realizar una conversión binaria, lo que no sé es si lo tratará como un entero con signo o sin signo.
Para transformar a entero sin signo puedes utilizar la siguiente función
Código:
public function hex_unsignedInt(v as variant) as string
dim low as byte
dim upp as byte
dim vnum as long
on local error resume next
vnum = val(v)
if vnum >65535 then
low=0
upp=0
else
if sqr(vnum) >= 16 then
upp=int(sqr(vnum))
low = v num- upp^2
else
upp = 0
low = vnum
end if
end if
hex_unsignedInt = hex(upp)+hex(low)
end function
Esta función te creará una cadena de caracteres con el valor hexadecimal del número solicitado, transformando el valor 3 en la cadena 00 03
PD: Piensa que la función la he escrito 'al vuelo' y no la he probado, por esta razón puede contener algún bug que en todo caso será fácil de solucionar.