Macro insertar fila

Buenas!
Tengo un formulario con textbox que como fue el primero que hice y no tengo mucha idea de macros fui a lo fácil y funciona mediante insert row (los datos nuevos siempre están en A:2 E:2) Cada vez que me inserta un dato nuevo con textbox1 en A:2, me crea una hoja nueva cuyo nombre es el valor de A:2.
Lo malo de este formulario es que si lo cierro sin escribir nada (por un error o porque he cambiado de idea) en la base de datos me inserta igualmente una fila vacía y me crea una hoja pero sin nombre.
El sistema me funciona bien, pero necesito saber como hacer para que no me inserte filas vacías, o que solo lo haga cuando yo quiera. Este es el código que tengo:
Private Sub CommandButton1_Click()
Selection.EntireRow.Insert
Columns("B").ColumnWidth = 50
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
TextBox1.SetFocus
'recorre la col A de la hoja2 a partir de la fila 2
Sheets("Clientes").Select
Range("A4").Select
'guarda el valor de la celda activa para colocarlo como nbre de hoja
nombrehoja = Range("A4")
'controla posible error por nombre no apto
On Error Resume Next
'agrega 1 hoja a continuación de la última
ActiveWorkbook.Sheets.Add After:=Worksheets(Sheets.Count)
ActiveSheet.Name = nombrehoja
'vuelve a la hoja original
Sheets("Clientes").Select
'avanza 1 fila hacia abajo
ActiveCell.Offset(1, 0).Select
End Sub
Saludos!

1 respuesta

Respuesta
1
La rutina se ejecuta cuando presionas ese botón CommandButton1, es decir que si cierras el formulario no se ejecutará salvo que presiones previamente el botón.
Un 2do control sería colocar un msgbox de confirmación, quedándote así:
Private Sub CommandButton1_Click()
sino = MsgBox("Este proceso insertará 1 fila y creará nueva hoja.... ¿Deseas aceptar?", vbQuestion + vbYesNo, "ATENCIÓN")
If sino <> vbYes Then Exit Sub
'recién ahora se ejecuta lo que sigue en tu rutina
**Para que continues con tus estudios de macros te recomiendo mis manuales de Formularios y 400MacrosPlus.
Si todo quedó aclarado, no olvides finalizar la consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas