¿Cómo hago para que al pulsar enter u otro evento en una caja de texto de VB después de escribir un número con coma, el programa me informe que el usuario escribió una coma o bien la sustituya por un punto, ahhh?
Creo que es mejor que en lugar de esperar a que se salga del control, verifiques lo que el usuario introduce tecla por tecla. Esto lo puedes hacer con el evento KeyPress. Por ejemplo, si el control se llamara Entrada, podrías poner el siguiente código: Private Sub Entrada_KeyPress(KeyAscii As Integer) If Chr(KeyAscii) = "," Then KeyAscii = Asc(".") End If End Sub Este procedimiento cambia las comas por puntos. Incluso puedes forzar a que un control sólo admita unas teclas determinadas. Por ejemplo, el siguiente código: Private Sub Entrada_KeyPress(KeyAscii As Integer) Dim Tecla, Valida As String Dim Flag As Boolean Dim i As Integer Valida = "0123456789" Tecla = Chr(KeyAscii) Flag = False For i = 1 To Len(Valida) If Mid$(Valida, i, 1) = Tecla Then Flag = True End If Next i If Not Flag Then KeyAscii = 0 End Sub Permitirá únicamente la entrada en el control de los dígitos del 0 al 9. Creo que con esto ya tienes para programar una buena rutina de entrada de datos formateados.