Saltar al contenido

Seleccionar matriz (rango) luego de haber aplicado un filtro de seleccion, luego copiar y pegar en o


Recommended Posts

publicado

Estimados.

Ha sido muy fructifero haber encontrado este foro, por lo que vuelvo a las consultas.

Resulta que estoy programando una macro que consiste hacer un filtro de una cantidad grande de datos, seleccionar solo algunos, copiar y pegarlos en otra hoja.

Ahora bien, he logrado el codigo para filtrar un arreglo de datos a partir de una tabla que tiene los nombres o id a buscar:

 nf = numerofilas        
'obtener arreglo de nombres de cellid
CELLID_Array = Range("C2:C" & (nf - 1))
'selecciona planilla de CNA
Windows("Libro_Muchosdatos.xlsx").Activate
'selecciona de CNA los cellid a modificar de planilla CNA
ActiveSheet.ListObjects("Tabla_MuchosDatos").Range.AutoFilter Field:=1 _
, Criteria1:=Array(CELLID_Array), Operator:=xlFilterValues[/CODE]

Con esto muestra en la tabla de muchos datos la información de los datos requeridos, necesito ahora saber como hacerlo para tomar solo esos datos y copiarlos, se que debe ser posible pero la solución no la tengo aún, me pueden ayudar?

Saludos!

publicado

Re: Seleccionar matriz (rango) luego de haber aplicado un filtro de seleccion, luego copiar y pegar en ot

Hola Pineiden, antes que nada te recomendaría que subas un libro con datos de ejemplo para brindarte una mejor ayuda.

prueba con este codigo, que espero que sea lo que necesitas.


nf = numerofilas
'obtener arreglo de nombres de cellid
CELLID_Array = Range("C2:C" & (nf - 1))
'selecciona planilla de CNA
Windows("Libro_Muchosdatos.xlsx").Activate
'selecciona de CNA los cellid a modificar de planilla CNA
ActiveSheet.ListObjects("Tabla_MuchosDatos").Range.AutoFilter Field:=1 _
, Criteria1:=Array(CELLID_Array), Operator:=xlFilterValues

Dim r1 As Range
With ActiveSheet.ListObjects("Table1").AutoFilter.Range
On Error Resume Next
Set r1 = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count) _
.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
End With
If Not r1 Is Nothing Then
r1.Select
Selection.Copy 'aqui deberias de poner a donde se copia el rango que necesitas
End If

[/PHP]

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.