Tabla de contenido
En este artículo, ilustraremos cómo insertar datos en un Excel tabla utilizando VBA código Con la ayuda de las propiedades y métodos incorporados de Excel, podemos facilitar la funcionalidad de añadir o sobrescribir datos en una tabla fácilmente. Vamos a sumergirnos en los ejemplos para obtener una clara comprensión de los métodos junto con los códigos VBA.
Descargar el cuaderno de prácticas
Descárgate este cuaderno de prácticas para ejercitarte mientras lees este artículo.
Insertar Datos en Tabla.xlsm4 Ejemplos para insertar datos en una tabla utilizando VBA en Excel
Digamos que tenemos un lista de venta de una tienda con detalles como la fecha del pedido, el nombre del producto, la cantidad, el precio unitario y el precio total.
Cómo crear una tabla en Excel
A gire a el conjunto de datos en un Tabla Excel haz lo siguiente...
- Seleccione el conjunto de datos .
- Vaya a a la Ficha Insertar del Cinta Excel .
- Haga clic en en el Cuadro opción.
- Por último, haga clic en el botón Botón OK en el Ventana Crear tabla.
- Hemos conseguido convertido el conjunto de datos en un Tabla Excel .
Para insertar datos en una tabla de Excel, utilizaremos varios métodos Funciones VBA y propiedades en nuestro código En la siguiente sección se describe cómo abra y escribir código en el editor de visual basic.
Escribir código en el editor de Visual Basic
Siga las pasos a abra el editor de visual basic y escribir algo de código allí.
- Ir a la Desarrollador de la pestaña Cinta Excel .
- Haga clic en el Opción Visual Basic.
- En el Visual Basic para aplicaciones haga clic en el botón Insertar desplegable a seleccione el Nuevo módulo
Ahora que un nuevo módulo es abierto escribe algo de código y pulsa F5 a correr.
1. Insertar Datos en la Última Fila de una Tabla Usando VBA en Excel
En este ejemplo, utilizaremos un VBA código a añada a nueva fila en el fondo de la tabla y luego insertar datos En nuestra tabla, tenemos 4 filas de datos Para añadir el 5º , copia y pegar el siguiente código en el editor de visual basic.
Sub InsertDataIntoTable() Dim tableName As ListObject Set tableName = ActiveSheet.ListObjects("Table1") Dim addedRow As ListRow Set addedRow = tableName.ListRows.Add() With addedRow .Range(1) = "1/1/2022" .Range(2) = "Apple" .Range(3) = 5 .Range(4) = 1.77 End With End Sub
Pulsa F5 a ejecute el código.
Hemos insertado a nueva fila de datos en el fondo de la mesa existente .
Explicación del código:
- En nuestro código, utilizamos la función Objeto ListObjects de VBA Excel para agarra el tabla con su nombre Para más información, cada de la ListObject objetos es un tabla en el hoja de trabajo Para obtener el nombre de la tabla, haga clic en en el tabla >> haga clic en en el Pestaña Diseño de la mesa en el Cinta de Excel.
- A continuación, utilizamos el ListRows . Añadir método para añadir un nueva fila en el tabla . Esto método toma dos argumentos : Posición y SiempreInserte .
Al introducir un número entero podemos especificar el posición relativa de la nueva fila añadida en el tabla En este ejemplo dejado en blanco el argumento de posición como resultado, un nueva fila ha sido añadido en el fondo de la tabla .
- Por último, fijamos los datos en cada de la células del nuevo fila añadida En este caso, los datos eran .Range(1) = "1/1/2022" como OrderDate, .Range(2) = "Apple" como Producto, .Rango(3) = 5 como Cantidad, .Range(4) = 1,77 como Precio unitario.
Más información: Nombre de tabla Excel: Todo lo que necesita saber
2. Ejecutar un Código VBA para Insertar Datos en una Fila Específica de una Tabla en Excel
En esta ilustración, vamos a añadir una fila de datos en un fila específica relativa a la tabla utilizando el mismo fragmento de código que en el ejemplo anterior. En este caso, sólo tenemos que especifique el Argumento de posición de la Método ListRows.Add en nuestro código. Digamos que queremos añadir datos de venta para Naranja con detalles en fila número 3 relativo a la mesa existente Para que esto suceda, copia y pegar lo siguiente código en el editor visual de código.
Sub InsertDataIntoTable() Dim tableName As ListObject Set tableName = ActiveSheet.ListObjects("Table1") Dim addedRow As ListRow Set addedRow = tableName.ListRows.Add(3) With addedRow .Range(1) = "1/1/2022" .Range(2) = "Orange" .Range(3) = 3 .Range(4) = 2.14 End With End Sub
Ejecución del código mediante pulsando F5 insertado el datos de venta para Orange en el 3ª fila relativa a la tabla .
Más información: Código VBA de Excel para cada fila de una tabla (añadir, sobrescribir, eliminar, etc.)
Lecturas similares
- Suma de campos calculada dividida por el recuento en una tabla dinámica
- Cómo ilustrar la distribución de frecuencias relativas en Excel
- [No se pueden agrupar fechas en una tabla dinámica: 4 posibles soluciones
- Cómo Calcular la Distribución de Frecuencias Porcentuales en Excel (2 Métodos)
- La tabla dinámica no se actualiza (5 problemas y soluciones)
3. Insertar y sobrescribir datos en una tabla utilizando VBA en Excel
Aquí ilustraremos cómo sobrescribir el datos existentes en un mesa en su lugar de insertar a nueva fila de datos Para ello, debemos utilizar la función Propiedad ListObject.ListRows de Excel en su lugar de la Propiedad ListRows.Add utilizamos antes . Propiedad ListObject.ListRows también toma número de fila ( Entero valor ) como su argumento Digamos que queremos cambiar el precio unitario de la Naranja de 2,14 a 2,35 que nosotros insertado en el ejemplo anterior . Copia y pegar el siguiente código en el editor de visual basic.
Sub InsertDataIntoTable() Dim tableName As ListObject Set tableName = ActiveSheet.ListObjects("Table1") Dim addedRow As ListRow Set addedRow = tableName.ListRows(3) With addedRow .Range(1) = "1/1/2022" .Range(2) = "Orange" .Range(3) = 3 .Range(4) = 2.35 End With End Sub
En nuestro código, nosotros configure el argumento para la Propiedad ListObject.ListRows como 3 donde el datos para Naranja pertenece a . Corre el código pulsando F5 y ver el diferencia .
El código tiene cambiado sólo el precio unitario de la datos en fila número 3 relativo a la tabla .
Más información: Cómo Insertar o Eliminar Filas y Columnas de una Tabla Excel
4. Ejecutar un Código VBA para Insertar Datos en una Tabla Excel Basado en la Entrada del Usuario
En este ejemplo, vamos a insertar el nombre de la tabla y detalles de la venta de un producto como entradas del usuario en lugar de hardcode en el Código VBA cada vez Para ello, siga las instrucciones que se indican a continuación.
- Copia y pegar el siguiente código en el editor de código visual.
Sub InsertDataIntoTable() Dim tableName As ListObject Dim A, B, C, D, tName As String tName = Application.InputBox(Prompt:="Nombre de la tabla: ", Type:=2) A = Application.InputBox(Prompt:="Fecha del pedido: ", Type:=2) B = Application.InputBox(Prompt:="Nombre del producto: ", Type:=2) C = Application.InputBox(Prompt:="Cantidad: ", Type:=2) D = Application.InputBox(Prompt:="Precio unitario: ",Type:=2) Set tableName = ActiveSheet.ListObjects(tName) Dim addedRow As ListRow Set addedRow = tableName.ListRows.Add() With addedRow .Range(1) = A .Range(2) = B .Range(3) = C .Range(4) = D End With End Sub
- Pulse F5 a ejecute el código.
- Ponga el nombre de la tabla en el cuadro de entrada ( Cuadro 1 en este ejemplo) y pulse DE ACUERDO.
- A continuación, ponga los valores de Fecha de pedido, Nombre del producto, Cantidad, y Precio unitario en el cuadros de entrada que aparecieron secuencialmente En este ejemplo, los valores utilizados son 1/1/2022, Naranja, 3, y 35.
- Como resultado, tenemos un nueva fila con el datos insertados en el fondo de la tabla .
Más información: Excel Consejos de formato de tabla - Cambiar el aspecto de la tabla
Notas
Cuando añadido a nueva fila con datos utilizando código VBA, el formato y fórmulas consiga llevado a la nueva fila automáticamente En nuestro ejemplo, el PrecioTotal columna salidas el producto de las columnas Cantidad y Precio unitario Nosotros sólo... sólo insertado el Cantidad y Precios unitarios ; el nueva fila fue insertado con el producto de estos dos valores en el Columna Precio total.
Conclusión
Ahora, ya sabemos cómo insertar datos en una tabla de Excel utilizando código VBA. Esperemos que le ayude a utilizar estos métodos con más confianza. Cualquier pregunta o sugerencia no se olvide de ponerlos en el cuadro de comentarios a continuación.