Código para selección de datos según criterios para gráfica en excel:
Muy buenos días expertos!
Tengo un problemilla con un código para la creación de una gráfica con múltiples series. Hasta ahora sólo he podido crear una gráfica que variara según los criterios que seleccionaba, pero me vendría genial crear una gráfica que me cogiera más datos de los que puedo coger hasta ahora y me creara nuevas series a a partir de los mismos de manera que si cogiera varios datos de varias páginas me creara las series especificadas por cada página. Os adjunto los códigos de las macros del archivo porque el archivo no sé cómo adjuntarlo.
Muchas gracias de antemano y un saludo!
Sub Grafico() 'Eliminar gráfico If Sheets("PREVIAS").Type = xlWorksheet Then Range("C7:I12").Select ActiveSheet.Shapes.AddChart.Select ActiveChart.ChartType = xlLine ActiveChart.SetSourceData Source:=Range("PREVIAS!$C$7:$I$12") End If If Sheets("PREVIAS").Type = xlWorksheet Then Sheets("PREVIAS").ChartObjects.Delete End If 'recorro la col B guardando las que tengan valor 'primero debo ubicar cuál es la última celda con datos Sheets("PREVIAS").Select ultima = Range("c65536").End(xlUp).Row Range("c6").Select While ActiveCell.Row <= ultima If ActiveCell <> "" Then 'guardo la ref en la variable filax = ActiveCell.Row rgo = rgo & "c" & filax & ":I" & filax & "," End If ActiveCell.Offset(1, 0).Select Wend 'le quito la coma final rgo = Mid(rgo, 1, Len(rgo) - 1) 'a partir de aquí las instrucciones para ajustar los datos de serie del gráfico. Utilizá tus instrucciones Range("B2").Select ActiveSheet.Shapes.AddChart.Select 'se establece el rango total, y luego el rango parcial ActiveChart.SetSourceData Source:=Range("PREVIAS!$c$1:$I$14") ActiveChart.ChartType = xlLine ActiveChart.SetSourceData Source:=Range(rgo) End Sub Sub proceso_final() Sheets("VISCOFAN").Select Range("AA1") = Sheets("PREVIAS").Range("JJ1") Range("AA2") = Sheets("PREVIAS").Range("JN4") Range("AB1") = Sheets("PREVIAS").Range("JK1") Range("AB2") = Sheets("PREVIAS").Range("JN5") Sheets("PREVIAS").Select Range("B7").Select Selection.CurrentRegion.Clear Sheets("VISCOFAN").Select Range("AA1").Value = "fecha" Range("AB1").Value = "fecha" foto1 = Range("AA2").Value foto2 = Range("AB2").Value inicio = ">=" & Format(Range("AA2").Value, "mm/dd/yyyy") fin = "<=" & Format(Range("AB2").Value, "mm/dd/yyyy") Range("AA2").Value = inicio Range("AB2").Value = fin Range("c6").CurrentRegion.Select Selection.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("AA1:AB2"), copytorange:=Sheets("PREVIAS").Range("a6") Range("AA1").Value = "fecha inicio" Range("AB1").Value = "fecha fin" Range("AA2").Value = foto1 Range("AB2").Value = foto2 Sheets("VISCOFAN").Range("Y2").Copy Sheets("PREVIAS").Select Range("I6").Select Selection.PasteSpecial Selection.CurrentRegion.Cut Range("j6").Select ActiveSheet.Paste Sheets("VISCOFAN").Range("Y2").Copy Sheets("previas").Select Range("j6").Select Selection.PasteSpecial Application.ScreenUpdating = True Sheets("ABERTIS").Select Range("AA1") = Sheets("PREVIAS").Range("JJ1") Range("AA2") = Sheets("PREVIAS").Range("JN4") Range("AB1") = Sheets("PREVIAS").Range("JK1") Range("AB2") = Sheets("PREVIAS").Range("JN5") Sheets("ABERTIS").Select Range("AA1").Value = "fecha" Range("AB1").Value = "fecha" foto1 = Range("AA2").Value foto2 = Range("AB2").Value inicio = ">=" & Format(Range("AA2").Value, "mm/dd/yyyy") fin = "<=" & Format(Range("AB2").Value, "mm/dd/yyyy") Range("AA2").Value = inicio Range("AB2").Value = fin Range("c6").CurrentRegion.Select Selection.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("AA1:AB2"), copytorange:=Sheets("PREVIAS").Range("a6") Range("AA1").Value = "fecha inicio" Range("AB1").Value = "fecha fin" Range("AA2").Value = foto1 Range("AB2").Value = foto2 Sheets("ABERTIS").Range("Y2").Copy Sheets("PREVIAS").Select Range("I6").Select Selection.PasteSpecial Application.ScreenUpdating = True End Sub Sub proceso_1() Sheets("VISCOFAN").Select Range("AA1") = Sheets("PREVIAS").Range("JJ1") Range("AA2") = Sheets("PREVIAS").Range("JN4") Range("AB1") = Sheets("PREVIAS").Range("JK1") Range("AB2") = Sheets("PREVIAS").Range("JN5") Sheets("PREVIAS").Select Range("B7").Select Selection.CurrentRegion.Clear Sheets("VISCOFAN").Select Range("AA1").Value = "fecha" Range("AB1").Value = "fecha" foto1 = Range("AA2").Value foto2 = Range("AB2").Value inicio = ">=" & Format(Range("AA2").Value, "mm/dd/yyyy") fin = "<=" & Format(Range("AB2").Value, "mm/dd/yyyy") Range("AA2").Value = inicio Range("AB2").Value = fin Range("c6").CurrentRegion.Select Selection.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("AA1:AB2"), copytorange:=Sheets("PREVIAS").Range("a6") Range("AA1").Value = "fecha inicio" Range("AB1").Value = "fecha fin" Range("AA2").Value = foto1 Range("AB2").Value = foto2 Sheets("VISCOFAN").Range("Y2").Copy Sheets("PREVIAS").Select Range("I6").Select Selection.PasteSpecial Application.ScreenUpdating = True End Sub Sub proceso_35() Sheets("ABERTIS").Select Range("AA1") = Sheets("PREVIAS").Range("JJ1") Range("AA2") = Sheets("PREVIAS").Range("JN4") Range("AB1") = Sheets("PREVIAS").Range("JK1") Range("AB2") = Sheets("PREVIAS").Range("JN5") Sheets("PREVIAS").Select Range("B7").Select Selection.CurrentRegion.Clear Sheets("ABERTIS").Select Range("AA1").Value = "fecha" Range("AB1").Value = "fecha" foto1 =...