0

我的工作簿中有几张纸。每张表都包含格式相同的测试结果。我想创建一个宏,在每个工作表中创建一个图表,仅从该工作表中绘制数据。我已经做到了这一点:

Sub Macro()
    Dim sSheetName As String
    sSheetName = ActiveSheet.Name
    Sheets(sSheetName).Select
    Range("G7:I5241").Select 'range to plot
    Range("K7").Select 'location of plot
    ActiveSheet.Shapes.AddChart2(240, xlXYScatterSmoothNoMarkers).Select 'select plot type
    ActiveChart.SeriesCollection.NewSeries   
    ActiveChart.FullSeriesCollection(1).Name = "='sSheetName'!R1C2" 'attempting to name the plot by a cell value in the active sheet

但是,最后一条语句无法成功创建指向活动工作表中单元格 R1C2 的链接。

截屏:

有任何想法吗?

4

1 回答 1

0

您在名称分配中使用了字符串文字:

ActiveChart.FullSeriesCollection(1).Name = "='sSheetName'!R1C2" 

除非您有一个工作表“sSheetName”,否则这将失败,这是意料之中的。改为这样做:

ActiveChart.FullSeriesCollection(1).Name = "='" & sSheetName & "'!R1C2" 

这使用您之前分配给变量的值sSheetName

于 2017-01-09T21:00:08.097 回答