Error en Textbox3

Buenas tardes, ¿serían tan amables y me pueden decir porque me da error lo siguiente?
Private Sub CommandButton1_Click()
Dim i As Integer
i = 1
Do While Not IsEmpty(Cells(i, "A"))
i = i + 1
Loop
Cells(i, "A").Value = Me.TextBox1.Value
Cells(i, "B").Value = Me.TextBox2.Value
Cells(i, "C").Value = Me.TextBox3.Value
Cells(i, "D").Value = Me.TextBox4.Value
Cells(i, "E").Value = Me.TextBox5.Value
Cells(i, "G").Value = Me.TextBox6.Value
Cells(i, "H").Value = Me.TextBox7.Value
Cells(i, "F").Value = Me.ComboBox1.Value
Me.TextBox1.Value = Empty
Me.TextBox2.Value = Empty
Me.TextBox3.Value = Empty
Me.TextBox4.Value = Empty
Me.TextBox5.Value = Empty
Me.TextBox6.Value = Empty
Me.TextBox7.Value = Empty
Me.ComboBox1.Value = Empty
End Sub
Private Sub TextBox2_Change()
TextBox3.Value = TextBox2.Value - (TextBox2.Value * 0.4)
TextBox4.Value = TextBox2.Value - (TextBox2.Value * 0,6)
End Sub
La linea que esta en negrita me da el error.
Gracias y saludos
Juan manuel

1 Respuesta

Respuesta
1
Al ejecutar la setencia Me.TextBox2.Value = Empty estas disparando el evento TextBox2_Change() en el que tratas de operar un valor no numérico con otro numerico.
TextBox3.Value = - ( * 0.4)
Empty - (Empty * 0,4) <= Error
Lamentablemente la inhabilitación de eventos no funciona para este caso, pero co un poquito más de código para comprobar el tipo de dato, creo que lo puedes solventar:
Private Sub TextBox2_Change()
If IsNumeric(TextBox2.Value) Then
TextBox3.Value = TextBox2.Value - (TextBox2.Value * 0.4)
TextBox4.Value = TextBox2.Value - (TextBox2.Value * 0,6)
End If
End sub
Estimado experto, muchísimas gracias funciona a la perfección, al principio me daba error pero era por la coma que esta donde pone 0,6 la he cambiado por la coma y ok.
Una vez más muy agradecido.
Un saludo
Juan Manuel

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas