Rango variable gráfico excel

Hola!
Es la primera vez que utilizo el foro para hacer una pregunta, has ahora me había arreglado buscando en preguntas ya contestadas. Soy principiante en la programación con VBA y necesito ayuda porque hay un detalle que no consigo poner bien.
Explico lo que quiero hacer: quiero realizar una macro para realizar gráficos. Tengo una tabla con fechas y en cada fecha diferentes variables y quiero realizar gráficos de la evolución de las variables, de manera que el usuario escoge qué variable quiere graficar y desde qué fecha y hasta qué fecha. El problema que tengo es con la sintaxis del rango del gráfico que me da error una y otra vez y no sé cómo hacerlo. Te copio el código:
Private Sub cmdAceptar_click()
Dim chtChart As Chart
Dim FilaInicio, FilaFinal As Byte
Dim FoundCell1, FoundCell2, FoundCell3 As Range
Set FoundCell1 = Range("Hoja1!A1:A5").Find(What:=DTPicker1.Value)
FilaInicio = Right(FoundCell1.Address(False, False), 1)
Set FoundCell2 = Range("Hoja1!A1:X1").Find(What:=cbxEvolucion.Value)
Columna = Left(FoundCell2.Address(False, False), 1)
Set FoundCell3 = Range("Hoja1!A1:A5").Find(What:=DTPicker2.Value)
FilaFinal = Right(FoundCell3.Address(False, False), 1)
Set chtChart = Charts.Add
With chtChart
.Name = "Evolución"
.ChartType = xlXYScatterSmoothNoMarkers
.SetSourceData Source:=Sheets("Hoja1").Range("A" & FilaInicio " :A " & FilaFinal; ColumnaFilaInicio : ColumnaFilaFinal)
PlotBy = xlColumns
.HasTitle = False
End With
End Sub
Si alguien me puede echar una mano estaré muy agradecida :)
Utilizo Excel2003
{"Lat":43.5524671692542,"Lng":-5.72379112243652}

1 Respuesta

Respuesta
1
Habría que ver que error te da. Si es de compilación o de ejecución. En principio si lo que has subrayado es la causa de un error parece de compilación porque te faltan "&" después de las variables y algo similar con los caracteres de separación como los dos puntos. La parte subrayada sería:
("A" & FilaInicio & " :A " & FilaFinal & ";" & ColumnaFilaInicio & ":" & ColumnaFilaFinal)
Luego para que te funcione las variables tendrán que tener los valores correctos, pero al menos con las correcciones anteriores no debieras tener el error de compilación.
Muchas gracias por tu ayuda. Como FilaInicio, FilaFinal y Columna son tres variables diferentes me ha quedado así y ya funciona.
.SetSourceData Source:=Sheets("Hoja1").Range("A" & FilaInicio & ":A" & FilaFinal & "," & Columna & FilaInicio & ":" & Columna & FilaFinal)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas