me estoy metiendo en esto de las macros y me he econtrado un problemilla.
Tengo un libro con un montón de datos que de hecho són vínculos a otros muchos libros. Se llama "Offers". Filtro estos y copio las columnas que me interesan hacia un nuevo libro, "Report".
Funciona bastante bien pero en dos casos ("Margenes" y "Precio") sólo me copia la primera fila de entre las filtradas y no el resto.
Cómo puede ser que funcione bien en algunas columnas y no en otras cuando és exactamente el mismo código? Y los origenes son todos vínculos y el destino tiene formato general de celda.
Muchas gracias por vuestra ayuda, os pego lo que tengo hecho.
Hola,
me estoy metiendo en esto de las macros y me he econtrado un problemilla.
Tengo un libro con un montón de datos que de hecho són vínculos a otros muchos libros. Se llama "Offers". Filtro estos y copio las columnas que me interesan hacia un nuevo libro, "Report".
Funciona bastante bien pero en dos casos ("Margenes" y "Precio") sólo me copia la primera fila de entre las filtradas y no el resto.
Cómo puede ser que funcione bien en algunas columnas y no en otras cuando és exactamente el mismo código? Y los origenes son todos vínculos y el destino tiene formato general de celda.
Muchas gracias por vuestra ayuda, os pego lo que tengo hecho.
Sub filtrar_offers()
'Fechas para filtrar y cambio
Dim lFecha1 As String, lFecha2 As String
lFecha1 = InputBox("Ofertes des de")
lFecha2 = InputBox("Ofertes fins")
'Borrar contenido
ActiveSheet.Range("A3:G100").Clear
ActiveSheet.Range("H3:K100").Clear
'Ir a offers 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 Precio y copiar
Range("A3").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range("AJ3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Workbooks("Report").Activate
Sheets("Report").Select
Range("F3").PasteSpecial xlPasteValues
Application.CutCopyMode = False
'Seleccionar Percent 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").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'Seleccionar Ref. y copiar
Workbooks("Offers").Activate
Sheets("Active").Select
Range("A3").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range("E3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Workbooks("Report").Activate
Sheets("Report").Select
Range("B3").PasteSpecial xlPasteValues
Application.CutCopyMode = False
'Seleccionar Customer y copiar
Workbooks("Offers").Activate
Sheets("Active").Select
Range("A3").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range("O3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Workbooks("Report").Activate
Sheets("Report").Select
Range("C3").PasteSpecial xlPasteValues
Application.CutCopyMode = False
'Seleccionar Country y copiar
Workbooks("Offers").Activate
Sheets("Active").Select
Range("A3").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range("Q3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Workbooks("Report").Activate
Sheets("Report").Select
Range("D3").PasteSpecial xlPasteValues
Application.CutCopyMode = False
'Seleccionar Type y copiar
Workbooks("Offers").Activate
Sheets("Active").Select
Range("A3").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range("K3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Workbooks("Report").Activate
Sheets("Report").Select
Range("E3").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Workbooks("Offers").Activate
Sheets("Active").Select
With Workbooks("Offers").Sheets("Active")
If .AutoFilterMode = True Then .AutoFilterMode = False
End With
End Sub