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 =...

Añade tu respuesta

Haz clic para o