Como puedo hacer una macro que agregue registros a una tabla de excel con un formulario

Necesito utilizar una hoja como formulario con un botón que cuando le de clic me agregue el registro capturado a una tabla

3 respuestas

Respuesta
1

En este link puedes encontrar un ejemplo explicado detalladamente. Solo es que le entiendas al código.

http://sintad.com.mx/macros%20excel/macro%20que%20agrega%20registros%20a%20una%20tabla%20con%20un%20formulario.html 

Respuesta
1

H o l a

te paso un ejemplo de un formulario con 3 textbox 

Set h1 = Sheets("Hoja1") ' hoja donde se guardará los datos
u1 = h1.Range("A" & Rows.Count).End(xlUp).Row + 1 ' captura la ultima fila para vaciar los datos a la hoja
    h1.Cells(u1, "A") = TextBox1 ' los datos del TextBox1 se guardará en la columna A
    h1.Cells(u1, "B") = TextBox2 '' los datos del TextBox2 se guardará en la columna B
    h1.Cells(u1, "C") = TextBox3
    '
    '
    'Así sucesivamente puedes ir agregando

Valora la respuesta para finalizar saludos!

El código lo pones en un commandbutton

Private Sub CommandButton1_Click()
Set h1 = Sheets("Hoja1") ' hoja donde se guardará los datos
'
u1 = h1.Range("A" & Rows.Count).End(xlUp).Row + 1 ' captura la ultima fila para vaciar los datos a la hoja
    h1.Cells(u1, "A") = TextBox1 ' los datos del TextBox1 se guardará en la columna A
    h1.Cells(u1, "B") = TextBox2 '' los datos del TextBox2 se guardará en la columna B
    h1.Cells(u1, "C") = TextBox3
    '
    '
    'Así sucesivamente puedes ir agregando
MsgBox "Registrado exitosamente", vbInformation
'
End Sub

Valora la respuesta para finalizar Excelente o bueno saludos!

Respuesta
1

Te anexo la macro.

Debes tener dos hojas, una llamada "formulario" y otra llamada "base de datos"

Ejemplo de mi formulario en la hoja "formulario"

Ejemplo de mis datos en la hoja "base de datos"


En la macro deberás poner las celdas que quieres pasar de la hoja "formulario" a la hoja "base de datos", en la siguiente línea:

Celdas = Array("C2", "E2", "C3", "E3", "C4")

Las celdas las debes acomodar según el orden en el cual quieres que se almacenen en la hoja "base de datos", en mi ejemplo la celda C2 se va a almacenar en la columna A, la E2 en la columna B, etc.


La macro completa:

Sub Agregar()
'Por.Dante Amor
    Set h1 = Sheets("formulario")
    Set h2 = Sheets("base de datos")
    celdas = Array("C2", "E2", "C3", "E3", "C4")
    '
    If h1.Range(celdas(0)).Value = "" Then
        MsgBox "Falta dato", vbExclamation
        Exit Sub
    End If
    '
    u = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
    For i = LBound(celdas) To UBound(celdas)
        h2.Cells(u, i + 1) = h1.Range(celdas(i))
        h1.Range(celdas(i)).Value = ""
    Next
    MsgBox "Registro Agregado", vbInformation
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: Agregar
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas