Botón para agrear una nueva fila en una tabla

Tengo dos hojas, una llamada BaseDatos y la otra llamada Departamentos. En la hoja llamada BaseDatos tengo una tabla con formado, de esas que al momento de llegar al final de la última columna automáticamente agrega una nueva fila.

Tengo un mini formulario, en el cual estoy colocando unas cantidades, lo que quiero es que al momento de ingresar las cantidades y darle al botón "Guardar", automáticamente me genere una fila nueva, he intentado de varias maneras, pero lo que hace es que ingresa los textos en la fila siguiente, pero no la agrega a la tabla, si no que la agrega fuera de la tabla.

El problema que tengo, es que es una hoja que tiene que tener productos, y sumar un total, pero al momento que se agrega la fila, se borra lo que tengo escrito debajo de la tabla, y no quiero que se borre.

2 respuestas

Respuesta
1

Supongo que tu formulario es un userform. Te anexo el código. Cambia en la macro "Tabla1" por el nombre de tu tabla.

Private Sub CommandButton1_Click()
'Por.Dante Amor
    '
    'VALIDACIONES
    If TextBox1 = "" Then
        MsgBox "Falta la cantidad"
        Exit Sub
        TextBox1.SetFocus
    End If
    If TextBox3 = "" Then
        MsgBox "Falta el Unitario"
        Exit Sub
        TextBox3.SetFocus
    End If
    '
    'AGREGAR NUEVA FILA
    Set h1 = Sheets("BaseDatos")
    ini = h1.Range("Tabla1").Cells(1, 1).Row
    fin = h1.Range("Tabla1").Rows.Count + ini
    Rows(fin).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    h1.ListObjects("Tabla1").Resize h1.Range("B" & ini - 1 & ":F" & fin)
    '
    'PONER DATOS
    h1.Cells(fin, "B") = Val(TextBox1)
    h1.Cells(fin, "C") = ComboBox1
    h1.Cells(fin, "D") = TextBox2
    h1.Cells(fin, "E") = Val(TextBox3)
    '
    MsgBox "Registro creado"
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Dante, muchas gracias por tu respuesta, te comento que si pude crear la fila, pero me aparece sin información, tuve que quitar las condiciones del form, porque no me dejaba avanzar.

https://www.dropbox.com/s/ayklfncm738pvlo/Machote%20Productos%20-%20Copy%20-%20Copy%20-%20Copy.xlsm?dl=0 

En este link se encuentra el archivo, no se si es mucha molestia que lo puedas revisar?

De antemano, muchas gracias.

Saludos.

Envíame tu archivo

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Jerry Flores

Te anexo el código

Private Sub CommandButton2_Click()
'Por.Dante Amor
    '
    '
    Set h1 = Sheets("BaseDatos")
    tabla = "Tabla2"
    'AGREGAR NUEVA FILA
    ini = h1.Range(tabla).Cells(1, 1).Row
    fin = h1.Range(tabla).Rows.Count + ini
    fila = 0
    For i = ini To fin - 1
        If h1.Cells(i, "B") = "" Then
            fila = i
            Exit For
        End If
    Next
    If fila = 0 Then
        h1.Rows(fin).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        h1.ListObjects(tabla).Resize h1.Range("B" & ini - 1 & ":F" & fin)
        fila = fin
    End If
    '
    'PONER DATOS
    h1.Cells(fila, "B") = Val(Label8)    'cant
    h1.Cells(fila, "C") = Label9         'desc
    h1.Cells(fila, "D") = Label10        'mode
    h1.Cells(fila, "E") = Val(Label11)   'unit
    h1.Cells(fila, "F") = Val(Label13)   'tota
    '
    MsgBox "Registro creado"
    Unload UserForm3
    Load UserForm2
    UserForm2.Show
End Sub

sal u dos

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas