VBA - Para los valores de un rango, copiar datos desde otra hoja
Necesito vuestra ayuda para hacer funcionar una macro que me está volviendo loco.
Hoja ANALISIS: tengo una tabla con fechas en la columna C (rango C10:C14) y con 7 columnas más a la derecha de ésta que debo cubrir.
Hoja PLAN: en el rango AH6:AN6 tengo los datos de esas 7 columnas.
Lo que hago es llamar a una macro que me filtra la tabla PLAN en función de la fecha.
Con la tabla PLAN filtrada, tengo unos subtotales que me calculan la cantidad de pedidos en esa fecha (AH6:AN6)
Por ejemplo, con la fecha de la C10, filtro la tabla PLAN, copio AH6:AN6 de PLAN a D10:F10 de ANALISIS.
Hasta aquí todo funciona. El problema es que no consigo que me continúe haciendo lo mismo para la C11, C12,...
¿Me podríais echar una mano? Yo he probado con los dos códigos siguientes y no me funciona... Creo que hago algo mal en el For y for Each...
Sub CopiarPedidos() Dim Celda As Range, Lista As Range Set Lista = ActiveWorkbook.Worksheets("ANALISIS").Range("C10:C14") 'Recorrer la Lista --> copiar fecha en celda de PLAN y aplicar filtro For i = 10 To 14 If Cells(i, 3) <> "" Then Sheets("PLAN").Range("celFecha") = Cells(i, 3).Value ActiveWorkbook.Worksheets("PLAN").Select Call Filtrar_Fechas 'Copiar las celdas de PLAN y pegarlas en ANALISIS Range("AH6:AN6").Select Application.CutCopyMode = False Selection.Copy Sheets("ANALISIS").Cells(i, 4).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End If Next End Sub
Sub CopiarPedidos() Dim Celda As Range, Lista As Range Set Lista = ActiveWorkbook.Worksheets("ANALISIS").Range("C10:C14") 'Recorrer la Lista --> copiar fecha en celda de PLAN y aplicar filtro X = 10 For Each Celda In Lista If Range("C" & X) <> "" Then Sheets("PLAN").Range("celFecha") = Celda.Value ActiveWorkbook.Worksheets("PLAN").Select Call Filtrar_Fechas 'Copiar las celdas de PLAN y pegarlas en ANALISIS Range("AH6:AN6").Select Application.CutCopyMode = False Selection.Copy Sheets("ANALISIS").Range("D" & X).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False X = X + 1 End If Next End Sub