Necesito ayuda para resolver el error que sale en mi programa en Visual Basic

Hola, espero que me puedan ayudar con este error.
Private Sub Command1_Click()
Gasto.Text = ""
Concepto.Text = ""
Dim x As String
Dim m As Double
x = InputBox("Introduce el concepto del Gasto")
If Not x = "" Then
m = InputBox("Introduce la cantidad del gasto generado por " & x)
If Not m = 0 Then
MsgBox "El gasto " & x & " se ha registrado con éxito"
Concepto.Text = UCase(x)
Gasto.Text = "$" & m
fecha.Text = Date
End If
End If
End Sub
En la parte sombreada me marca el error, no se porque antes todo funcionaba perfectamente

1 Respuesta

Respuesta
1
Lo que ocurre es que la función InputBox muestra un cuadro de dialogo para que el usuario escriba un texto y por lo tanto devuelve un tipo String, por lo tanto cuando no se ingresan datos numéricos de gasto.
Para que le funcione debe hacer una pequeña modificación de la siguiente forma :
Private Sub Command1_Click()
    Gasto.Text = ""
    Concepto.Text = ""
    Dim x As String
    Dim m As String
    x = InputBox("Introduce el concepto del Gasto")
    If Not x = "" Then
        m = InputBox("Introduce la cantidad del gasto generado por " & x)
        If IsNumeric(m) Then
           Valor = CDbl(m)
        Else
           Valor = 0
        End If
        If Not Valor = 0 Then
            MsgBox "El gasto " & x & " se ha registrado con éxito"
            Concepto.Text = UCase(x)
            Gasto.Text = "$" & Valor
            Fecha.Text = Date
        End If
    End If
End Sub
Suerte !
Ok.! Esta perfecto. Muchas gracias, si me pudieras informar porque ocurrió ese problema, estaría mejor aun. El programa funcionaba correctamente, después comenzó a mandar ese error y no supe ni porque. Bueno de antemano muchas gracias por tu ayuda me fue de gran utilidad.
El programa como estaba funcionaba siempre y cuando se ingresara un valor numérico en el gasto, el error se presenta cuando no se ingresa nada o cuando se ingresan caracteres no numéricos.
Lo anterior porque la función InputBox recupera un valor de tipo String.
Suerte !

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas