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