Saltar al contenido

Copiar datos filtrados en tabla con nombre de rango asociado


Recommended Posts

publicado

Buenas días a todos,

Les copio parte de un algoritmo en donde copio y pego unas tablas en otro libro.

Copia y pega todas las tablas correctamente, ahora si les aplico un filtro  y copio solo las filas visibles aplicando SpecialCells(xlCellTypeVisible).Copy ,, no copia  la tabla con su nombre de rango, solo copia los valores.

Aparentemente  cuando copias y pegas una tabla filtrada en Excel, es posible que el nombre de rango no se copie automáticamente junto con los datos. Esto puede ser que se deba  a que el nombre de rango está asociado directamente con la tabla y no con las celdas individuales.

Hay alguna manera de hacer esto  en esta instancia al hacer Copy o Paste con  Range.SpecialCells?, o deberé recorrer el libro creado renombrando las tablas?

Con tabla.name obtengo el nombre de la tabla pero no se como asociarlo al objeto

Aguardo sus comentarios

Saludos

Workbooks.Add
For Each hoja In ThisWorkbook.Sheets
   For Each tabla In hoja.ListObjects
      tabla.Range.SpecialCells(xlCellTypeVisible).Copy
      ActiveSheet.Paste
      Sheets.Add after:=ActiveSheet
   Next
Next

publicado

Hola

Las tablas son objetos que abarcan un rango no determinado pero que es dependiente de los datos ingresados, es decir, es un objeto rango que abarca celdas. Si tu solo copias algunas de esas celdas de todo el rango de una tabla, por lógica no estás copiando toda la tabla y no tiene porqué copiarse la tabla como tal y/o sus características. 

Al pegar los datos en otro lado primero tienes que convertir en tabla esos mismos datos y después cambiarles el nombre. El nombre de la tabla "original" puedes trasladarlo con una variable pública. 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.