Copiar valor de celdas visibles en las que hay vinculo
Publicado por Teresa (1 intervención) el 20/01/2014 13:44:45
Hola buenos dias.
Intento hacer una macro para en un libro con datos los filtre segun unos criterios de fechas y seleccione algunas de las columnas filtradas para copiarlas en otro libro. Libro origen Offers, hoja Active. Libro de destino Report hoja Report. La hoja de origen contiene vínculos a otras muchas hojas.
Funciona bastante bien pero me encuento que en algunas columnas (desconozco el motivo) sólo me copia la primera fila y no las siguientes.
He hecho esto:
Sub filtrar()
'Fechas para filtrar y cambio
Dim lFecha1 As Long, lFecha2 As Long
Dim curr As Integer
lFecha1 = Range("Des_de")
lFecha2 = Range("Hasta_")
curr = Range("Curr")
'Borrar contenido
ActiveSheet.Range("A3:BI100").Clear
'Ir a origen y desactivar filtro
Workbooks.Open Filename:="S:\Comercial\Offers.xlsx"
Workbooks("Offers").Activate
Sheets("Active").Select
With Workbooks("Offers").Sheets("Active")
If .AutoFilterMode = True Then .AutoFilterMode = False
End With
'Filtrar en active
Sheets("Active").Range("A3").AutoFilter field:=22, Criteria1:=">=" & lFecha1, _
Operator:=xlAnd, Criteria2:="<=" & lFecha2
'Seleccionar Margen y copiar
Workbooks("Offers").Activate
Sheets("Active").Select
Range("A3").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range("AM3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Workbooks("Report").Activate
Sheets("Report").Select
Range("G3").PasteSpecial xlPasteValues
Application.CutCopyMode = False
'Seleccionar Responsable y copiar
Workbooks("Offers").Activate
Sheets("Active").Select
Range("A3").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range("I3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Workbooks("Report").Activate
Sheets("Report").Select
Range("A3").PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub
aquí por ejemplo el responsable copia todas las columnas pero en margen sólo la primera.
Intento hacer una macro para en un libro con datos los filtre segun unos criterios de fechas y seleccione algunas de las columnas filtradas para copiarlas en otro libro. Libro origen Offers, hoja Active. Libro de destino Report hoja Report. La hoja de origen contiene vínculos a otras muchas hojas.
Funciona bastante bien pero me encuento que en algunas columnas (desconozco el motivo) sólo me copia la primera fila y no las siguientes.
He hecho esto:
Sub filtrar()
'Fechas para filtrar y cambio
Dim lFecha1 As Long, lFecha2 As Long
Dim curr As Integer
lFecha1 = Range("Des_de")
lFecha2 = Range("Hasta_")
curr = Range("Curr")
'Borrar contenido
ActiveSheet.Range("A3:BI100").Clear
'Ir a origen y desactivar filtro
Workbooks.Open Filename:="S:\Comercial\Offers.xlsx"
Workbooks("Offers").Activate
Sheets("Active").Select
With Workbooks("Offers").Sheets("Active")
If .AutoFilterMode = True Then .AutoFilterMode = False
End With
'Filtrar en active
Sheets("Active").Range("A3").AutoFilter field:=22, Criteria1:=">=" & lFecha1, _
Operator:=xlAnd, Criteria2:="<=" & lFecha2
'Seleccionar Margen y copiar
Workbooks("Offers").Activate
Sheets("Active").Select
Range("A3").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range("AM3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Workbooks("Report").Activate
Sheets("Report").Select
Range("G3").PasteSpecial xlPasteValues
Application.CutCopyMode = False
'Seleccionar Responsable y copiar
Workbooks("Offers").Activate
Sheets("Active").Select
Range("A3").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range("I3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Workbooks("Report").Activate
Sheets("Report").Select
Range("A3").PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub
aquí por ejemplo el responsable copia todas las columnas pero en margen sólo la primera.
Valora esta pregunta
0