Excel-VBA: Agregar múltiples filas a una tabla con datos de diferente hoja Aquí se presenta un código en VBA para agregar múltiples filas a una tabla en Excel utilizando datos de una hoja diferente. Dim origen As Worksheet Dim destino As Worksheet Dim tablaDestino As ListObject Dim filaOrigen As Range Dim nuevaFila As ListRow ‘ Especificar la hoja de origen y la hoja de destino Set origen = ThisWorkbook.Worksheets(“HojaOrigen”) Set destino = ThisWorkbook.Worksheets(“HojaDestino”) ‘ Especificar la tabla de destino Set tablaDestino = destino.ListObjects(“TablaDestino”) ‘ Recorrer las filas de origen y agregar nuevas filas a la tabla de destino For Each filaOrigen In origen.Range(“A2:A” & origen.Cells(Rows.Count, “A”).End(xlUp).Row) Set nuevaFila = tablaDestino.ListRows.Add nuevaFila.Range(1) = filaOrigen.Value Next filaOrigen Ten en cuenta que debes personalizar el código según el nombre de tus hojas de origen y destino, y el nombre de tu tabla de destino. El código recorre las filas de la columna A en la hoja de origen y agrega nuevas filas a la tabla de destino con los valores correspondientes. Espero que esto te sea útil. ¡Buena suerte!
Estoy tratando de agregar filas a una tabla en una hoja de cálculo utilizando datos de otra hoja. El código siguiente está funcionando hasta cierto punto.
Puedo agregar una fila de datos a la vez y también determinar dónde se agrega en la tabla. Sin embargo, me gustaría poder agregar múltiples filas de datos y seguir siendo capaz de determinar dónde se agregarán en la tabla.
He intentado diferentes variaciones de este proceso, pero todos parecen tener un problema. O bien puedo insertar múltiples filas pero no puedo determinar dónde se colocan en la tabla, o no he podido agregar múltiples filas al mismo tiempo.
Sub AddData()
Dim ws As Worksheet
Dim tbl As ListObject
Dim NewRow As ListRow
Set ws = ActiveWorkbook.Worksheets("DATA Member-19")
Set tbl = ws.ListObjects("MemberInfo19")
Set NewRow = tbl.ListRows.Add
With NewRow
.Range(1) = Sheets("Add Members").Range("B4")
End With
End Sub
El rango para la nueva fila comenzaría en B4 y cambiaría dependiendo de la cantidad de datos que se necesiten agregar. Podría ser solo una fila, pero también podrían ser varias filas de datos que necesiten ser transferidos.
davy.ai
Para agregar múltiples filas de datos y aún poder determinar dónde se agregarán en la tabla, puede modificar el código de la siguiente manera:
En este código, primero definimos una variable
DataRange
para almacenar el rango de datos que queremos agregar, comenzando en la celda B4 y utilizando la propiedadCurrentRegion
para encontrar el rango contiguo. Luego, usamos el métodoAdd
de la colecciónListRows
para agregar una nueva fila en la parte inferior de la tabla, con el parámetroRowIndex
configurado entbl.Range.Rows.Count + 1
para agregarla después de la última fila de datos, yAlwaysInsert
configurado enTrue
para asegurarse de que la tabla se expanda si es necesario. El parámetroNumRows
se establece en el número de filas en la variableDataRange
para que se agregue el número correcto de filas.Finalmente, usamos la propiedad
Range
del objetoNewRows
para establecer los valores de las nuevas filas igual a los deDataRange
. Esto agregará todas las filas de datos a la tabla y aún le permitirá determinar dónde se agregan.