Como no insertar textbox que quedan vacíos a una BD

Hola
Elabore un userform para llenar una base de datos la cual almacena datos de muestras enviadas a analizar a laboratorios. El userform lo diseñe para un máximo de 10 muestras pero hay ocasiones en que solo se envían por ejemplo 6 muestras entonces cuando ejecuto el userform también me inserta los textbox vacíos (4) por lo que al volver a utilizarlo para otras muestras los nuevos datos los coloca después de las 4 celdas vacías que corresponde a los textbox que no se llenaron en la solicitud anterior. Lo que quiero es que los datos me queden seguidos sin filas vacías entre los datos posteriores. El código que utilizo es el siguiente:
Private Sub CommandButton2_Click()
Sheets("HOJA1").Select
Range("G7").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop 'bucle
ActiveCell = TextBox8
ActiveCell.Offset(0, -5).Select
ActiveCell = TextBox5
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox1
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox4
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox6
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox7
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox8
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox9
ActiveCell.Offset(1, -3).Select
ActiveCell = TextBox10
Espero me puedas ayudar
Saludos
Carlos
Respuesta
1
Prueba
Private Sub CommandButton1_Click()
Sheets("HOJA1").Select
Range("G7").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop 'bucle
If Len(TextBox8) > 0 Then ActiveCell = TextBox8: ActiveCell.Offset(0, -5).Select
If Len(TextBox5) > 0 Then ActiveCell = TextBox5: ActiveCell.Offset(0, 1).Select
If Len(TextBox1) > 0 Then ActiveCell = TextBox1: ActiveCell.Offset(0, 1).Select
If Len(TextBox4) > 0 Then ActiveCell = TextBox4: ActiveCell.Offset(0, 1).Select
If Len(TextBox6) > 0 Then ActiveCell = TextBox6: ActiveCell.Offset(0, 1).Select
If Len(TextBox7) > 0 Then ActiveCell = TextBox7: ActiveCell.Offset(0, 1).Select
If Len(TextBox8) > 0 Then ActiveCell = TextBox8: ActiveCell.Offset(0, 1).Select
If Len(TextBox9) > 0 Then ActiveCell = TextBox9: ActiveCell.Offset(1, -3).Select
If Len(TextBox10) > 0 Then ActiveCell = TextBox10
End Sub
Gracias por la respuesta, al parecer con el código que me brindaste puedo encontrar la solución adaptándolo a lo que quiero que haga, en caso de que me surja otro problema te lo haré saber por si me puedes ayudar
Gracias!
Saludos
Carlos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas