Saltar al contenido

Como conservar hipervinculos en filtro avanzado


Recommended Posts

publicado

Buenas tardes, gracias a los miembros de este foro por la ayuda de antemano.

Necesito filtrar datos de varias hojas diferentes y estoy utilizando filtro avanzado. El problema es que no se como conservar los hipervínculos.

Adjunto el ejemplo del que hablo. Un saludo.

 

macro filtro avanzado.rar

publicado

No se puede utilizando la opción de copiar a otra hoja, pero hay un truco para poder hacerlo con el filtro sobre los mismos datos origen.

Prueba la macro de esta manera:

Sub Macro5()
'
' Borrar resultados anteriores
'
   Columns("C:S").ClearContents
   Range("G2").Select

' Filtro avanzado para copiar los datos en la hoja informe
'
   Application.ScreenUpdating = False
   With Sheets("facturas").Columns("G:H")
     .AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1:A2"), Unique:=False
     .SpecialCells(xlCellTypeVisible).Copy Columns("G:H")
     Sheets("facturas").ShowAllData
   End With
       
   With Sheets("contrato").Columns("G:H")
     .AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1:A2"), Unique:=False
     .SpecialCells(xlCellTypeVisible).Copy Columns("O:P")
     Sheets("contrato").ShowAllData
   End With
End Sub

Es algo mas lenta.

publicado
Hace 4 minutos , Antoni dijo:

No se puede utilizando la opción de copiar a otra hoja, pero hay un truco para poder hacerlo con el filtro sobre los mismos datos origen.

Prueba la macro de esta manera:


Sub Macro5()
'
' Borrar resultados anteriores
'
   Columns("C:S").ClearContents
   Range("G2").Select

' Filtro avanzado para copiar los datos en la hoja informe
'
   Application.ScreenUpdating = False
   With Sheets("facturas").Columns("G:H")
     .AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1:A2"), Unique:=False
     .SpecialCells(xlCellTypeVisible).Copy Columns("G:H")
     Sheets("facturas").ShowAllData
   End With
       
   With Sheets("contrato").Columns("G:H")
     .AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1:A2"), Unique:=False
     .SpecialCells(xlCellTypeVisible).Copy Columns("O:P")
     Sheets("contrato").ShowAllData
   End With
End Sub

Es algo mas lenta.

Ha funcionado perfectamente. Muchísimas gracias.

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.