Impedir textbox vacíos en userform

Mi problema es que tengo un userform que copia los datos de los textbox a celdas de una hoja de excel, y que al apretar un botón, ejecuta una macro usando esos datos, pero si dosn textbox en concreto no está lleno antes de apretar el botón, el resultado no es correcto. ¿Cómo puedo impedir que se ejecute la macro hasta que esos textbox estén cumplimentados? Lo ideal sería que apareciera un MsgBox y que al cerrarlo el foco volviera al textbox a cumplimentar.
Adjunto el código del userform por si así queda más claro. Una vez más, gracias por vuestra ayuda.
Private Sub CommandButton1_Click()
Sheets("REGISTRO").Select
Application.Run "VERTODO"Application.Run "ENTRADA"
TextBox1 = EmptyTextBox2 = EmptyTextBox3 = EmptyTextBox4 = EmptyTextBox5 = EmptyTextBox6 = EmptyTextBox7 = EmptyTextBox8 = EmptyTextBox9 = Empty
Unload Me
Sheets("REGISTRO").Select
End Sub
Private Sub TextBox1_Change()ActiveSheet.UnprotectRange("B4") = TextBox1.ValueActiveSheet.Protect
End Sub
Private Sub TextBox2_Change()ActiveSheet.UnprotectRange("A1") = TextBox2.ValueActiveSheet.Protect
End Sub
Private Sub TextBox3_Change()ActiveSheet.UnprotectRange("B1") = TextBox3.ValueActiveSheet.Protect
End Sub
Private Sub TextBox4_Change()ActiveSheet.UnprotectRange("E1") = TextBox4.ValueActiveSheet.Protect
End Sub
Private Sub TextBox5_Change()ActiveSheet.UnprotectRange("F1") = TextBox5.ValueActiveSheet.Protect
End Sub
Private Sub TextBox6_Change()ActiveSheet.UnprotectRange("G1") = TextBox6.ValueActiveSheet.Protect
End Sub
Private Sub TextBox7_Change()ActiveSheet.UnprotectRange("I1") = TextBox7.ValueActiveSheet.Protect
End Sub
Private Sub TextBox8_Change()ActiveSheet.UnprotectRange("J1") = TextBox8.ValueActiveSheet.Protect
End Sub
Private Sub TextBox9_Change()ActiveSheet.UnprotectRange("K1") = TextBox9.ValueActiveSheet.ProtectEnd Sub
Private Sub UserForm_Click()
End Sub

1 respuesta

Respuesta
2
Lo puedes hacer con una sentencia condicional:
if textboxXXX = empty then 'si el textbox XXX es igual a nada entonces...
msgbox "Falta por cumplimentar el textboxXXX" 'muestra este mensaje
else 'en el caso de que textbox NO sea igual a nada ...
(todo tu codigo)
end if 'fin de la condicional
end sub 'fin de tu codigo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas