excel2007中的动态图形
我想在excel中用图表显示表格的结果。以下是我的代码:excel2007中的动态图形,excel,excel-2007,Excel,Excel 2007,我想在excel中用图表显示表格的结果。以下是我的代码: Sub bow() ' ' bow Macro ' ' Worksheets("Sheet3").Select tahX = Cells(3, 3).Value + 2 Xval = Offset(A1, 1, 2, 1, 1) ActiveSheet.Shapes.AddChart.Select ActiveChart.SetSourceData Source:=Range("'Sheet3'!$12:$12,'She
Sub bow()
'
' bow Macro
'
'
Worksheets("Sheet3").Select
tahX = Cells(3, 3).Value + 2
Xval = Offset(A1, 1, 2, 1, 1)
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range("'Sheet3'!$12:$12,'Sheet3'!$10:$10")
ActiveChart.ChartType = xlXYScatter
ActiveChart.SeriesCollection(1).Name = "=""bowe"""
ActiveChart.SeriesCollection(1).XValues = "='Sheet3'!$12:$12"
ActiveChart.SeriesCollection(1).Values = "='Sheet3'!$10:$10"
End Sub
现在我想将X值限制为单元格C3中定义的值。例如,如果C3=20,我希望它只使用第12行中的前20个值。我该怎么做呢?新浪,
我不确定你的问题到底是什么,但在这方面:
ActiveChart.SeriesCollection(1).XValues = "='Sheet3'!$12:$12"
您正在指定要打印的第12行。而不是$12:$12你可以吃$C$12:$L$12将设置从C3到L12的范围。如果要动态设置行,可以使用:
Set mcStartX = Worksheets(1).Cells(12, 3)
startColX = mcStartX.Address()
//we assume that in cell C3 we have specified number of cells to be plotted
toAdd = Cells(3, 3).Value
Set mcEndX = Worksheets().Cells(12, 2 + toAdd)
endColX = mcEndX.Address()
使用此代码,并假设C3中有10个,您将从startColX获得$C$12,从endColX获得$L$12。其余的代码是直接的,您可以使用以下代码:
ActiveChart.SeriesCollection(1).XValues = "='Sheet3'!" + startColX + ":" + endColX
我希望这能有所帮助
干杯,新浪,
我不确定你的问题到底是什么,但在这方面:
ActiveChart.SeriesCollection(1).XValues = "='Sheet3'!$12:$12"
您正在指定要打印的第12行。而不是$12:$12你可以吃$C$12:$L$12将设置从C3到L12的范围。如果要动态设置行,可以使用:
Set mcStartX = Worksheets(1).Cells(12, 3)
startColX = mcStartX.Address()
//we assume that in cell C3 we have specified number of cells to be plotted
toAdd = Cells(3, 3).Value
Set mcEndX = Worksheets().Cells(12, 2 + toAdd)
endColX = mcEndX.Address()
使用此代码,并假设C3中有10个,您将从startColX获得$C$12,从endColX获得$L$12。其余的代码是直接的,您可以使用以下代码:
ActiveChart.SeriesCollection(1).XValues = "='Sheet3'!" + startColX + ":" + endColX
我希望这能有所帮助
干杯