Buenos días,
estoy tratando de elaborar un programa que dibuje una simple gráfica (X,Y) en función de los datos de una tabla de otra hoja de cálculo (del mismo fichero).
Los datos están en dos columnas distintas, y quiero que una de ellas represente el eje X de la gráfica, la otra columna representaría el eje Y. Es decir, en A1:A30 tengo los puntos del eje X, en B1:B30 los del eje Y, y quiero que en mi gráfica, en
el punto A1 del eje X se represente el valor B1 en Y, de forma que los puntos de la gráfica serían (Ai,Bi).
Hasta ahora, he conseguido representar la curva con los datos de la columna B, y la forma de la curva es correcta, pero las coordenadas X de los puntos de la gráfica no se corresponden con los datos la columna A de mi tabla.
Por si ayuda a comprender mi duda, la sección de código que recoge los datos de la hoja de cálculo y representa la gráfica es:
Dim xlWorkChart As Excel.Chart
Dim EjeX, EjeY As Excel.Range
Dim xlsAxisCategory, xlsAxisValue As Excel.Axes
xlWorkSheet = xlWorkBook.Worksheets("Datos")
EjeX = xlWorkSheet.Range("A1:A30")
EjeY = xlWorkSheet.Range("B1:B30")
xlWorkSheet = xlWorkBook.Worksheets(3)
xlWorkSheet.Name = "TEST"
xlApp.ScreenUpdating = False
' Gráfica antes de la hoja 2
xlWorkChart = xlWorkBook.Charts.Add(xlWorkBook.Worksheets(2))
xlWorkChart.SetSourceData(EjeY)
' Formato de la gráfica, tipo y título
xlWorkChart.ChartType = XlChartType.xlXYScatterLines ' xlLine
xlWorkChart.HasTitle = True
xlWorkChart.ChartTitle.Text = "Respuesta en frecuencia"
' Formato del eje X
xlsAxisCategory = xlWorkChart.Axes(, Excel.XlAxisGroup.xlPrimary)
xlsAxisCategory.Item(Excel.XlAxisType.xlCategory).HasTitle = True
xlsAxisCategory.Item(Excel.XlAxisType.xlCategory).AxisTitle.Characters.Text() = "Frecuencia"
' Formato del eje Y
xlsAxisValue = xlWorkChart.Axes(, Excel.XlAxisGroup.xlPrimary)
xlsAxisValue.Item(Excel.XlAxisType.xlValue).HasTitle = True
xlsAxisValue.Item(Excel.XlAxisType.xlValue).AxisTitle.Characters.Text() = "dB"
¿Alguien sabría indicarme cómo hacer corresponder los puntos Y con sus respectivos X? He tratado con distintos métodos que me sugiere el entorno de desarrollo y algunos de los que he encontrado indagando por el buscador, pero no he dado con una solución
funcional.
Estoy trabajando con Visual Basic 2010 Express, usando referencia a la librería "Microsoft Excel 11.0 Object Library".
Disculpad si este hilo no va en esta sección, me ha parecido la más adecuada y soy nuevo por aquí.
Muchas gracias de antemano.
Saludos.