Mejorar el rendimiento de macro de crear gráfico
Necesito mejorar el rendimiento de macro de crear gráfico, todos los datos de la tabla son a través de fórmulas y demora 27 segundos.

macro
Sub graficandoSeries()
'x Elsamatilde
Range("J11").Select
ActiveSheet.Shapes.AddChart2(240, xlXYScatterSmooth).Select
Application.CutCopyMode = False
'se establece cuál será la ultima serie
x = 1
If Range("B3") <> "" Then x = Range("A3").End(xlToRight).Column
'se agregan las series al gráfico
For i = 2 To x
'se arman los rangos para asignarlos a cada serie
If Cells(4, i) <> "" Then
ini = 4
Else
ini = Cells(3, i).End(xlDown).Row
End If
'se establece la última fila de datos según col i
y = Cells(ini, i).End(xlDown).Row
rgoy = Range(Cells(ini, i), Cells(y, i)).Address ' $B$4:$B$20
rgox = Range(Cells(ini, 1), Cells(y, 1)).Address ' $A$4:$A$20
'se crea la serie
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(i - 1).Name = "=Blad1!" & Cells(3, i).Address
ActiveChart.FullSeriesCollection(i - 1).XValues = "=Blad1!" & rgoy '$B$4:$B$20
ActiveChart.FullSeriesCollection(i - 1).Values = "=Blad1!" & rgox '$A$4:$A$20
'las sgtes series se establecen en eje secundario
If i > 2 Then ActiveChart.FullSeriesCollection(i - 1).AxisGroup = 2
Next i
'ubicación de leyeda y configuración de ejes
ActiveChart.SetElement (msoElementLegendBottom)
ActiveChart.SetElement (msoElementSecondaryValueAxisNone)
Range("J7").Select
End Sub
2 Respuestas
Respuesta de Dante Amor
3
Respuesta de Elsa Matilde
1