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!
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 de Elsa Matilde
1