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
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