使用vba生成器的excel图形问题的名称



所以我试图使用一个名称作为范围值来生成一个图表。我使用了excel中的代码生成器,我得到了:

Sub Macro_name_graph2()
'
' Macro_name_graph2 Macro
'
'
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(1).name = "=""data1_1"""
ActiveChart.FullSeriesCollection(1).Values = "==test_macro.xlsm!data1_1ord"
ActiveChart.FullSeriesCollection(1).XValues = "==test_macro.xlsm!data1_1abs"
End Sub

我在实际图表中写的是='test_macro.xlsm'!data1_1ord='test_macro.xlsm'!data1_1abs

但不是当我试图再次运行它,我有一个错误1004在ActiveChart.FullSeriesCollection(1).Values = "==test_macro.xlsm!data1_1ord"

所以我试着把ActiveChart.FullSeriesCollection(1).Values = "=='test_macro.xlsm'!data1_1ord",它也不工作

这对我有效(为我的测试更改了工作簿的名称):

Sub Macro_name_graph2()
With ActiveChart.SeriesCollection.NewSeries
.Name = "=Book1!data1_1"
.Values = "=Book1!data1_1ord"
.XValues = "=Book1!data1_1abs"
End With
End Sub

注意NewSeries方法返回添加的序列,因此您可以在With块中使用该返回值。

最新更新