Por favor, ¿alguien podría decirme como puedo tratar números decimales en VB?
Para empezar, declaro la variable que almacenará el dato decimal como long.
Y luego, le aplico lo siguiente:
Private Sub TxtImporte_KeyPress(KeyAscii As Integer)
Dim c As Integer
If KeyAscii = 13 Then
KeyAscii = 0 ' Para que no "pite"
SendKeys "{tab}" ' Envía una pulsación TAB
ElseIf KeyAscii <> 8 Or KeyAscii = 46 Then ' El 8 es la tecla de borrar (backspace)
' Si después de añadirle la tecla actual no es un número...
'If Not IsNumeric("0" & Text1.Text & Chr(KeyAscii)) Then
If Not IsNumeric(Chr(KeyAscii)) Then
' ... se desecha esa tecla y se avisa de que no es correcta
If KeyAscii = 46 Then
i = InStr(1, TxtImporte.Text, ".", vbTextCompare)
If i <> 0 Then
Beep
KeyAscii = 0
End If
Else
Beep
KeyAscii = 0
End If
End If
End If
End Sub
El problema está en que cuando intento guardar el valor del txt en la variable de tipo long, no coinciden los tipos:
Si fuera doble haría lo siguiente:
importe = CDbl(Form4.TxtImporte.Text)
Pero si es un long, ¿cómo puedo convertirlo? es que no encuentro el método que lo convierta

Gracias de antemano.