2016-06-09 37 views
0
Sub Macro1()  
Macro1 Macro  
    Dim k_Month As Range 
    Dim PrevYear As Range 
    Dim CurrYear As Range 
    Dim RelFC As Range 
    Dim PropFC As Range 

Set PropFC = Workbooks("ETKR_Sales_Tracking_MBR.xlsx").Worksheets("Year To Date").Range("C849:N849") 
Set RelFC = Workbooks("ETKR_Sales_Tracking_MBR.xlsx").Worksheets("Year To Date").Range("C1061:N1061") 

Set k_Month = Workbooks("Gap_Analysis.xlsx").Worksheets("SA2 KR").Range("U4:AF4") 
Set PrevYear = Workbooks("Gap_Analysis.xlsx").Worksheets("SA2 KR").Range("AO6:AZ6") 
Set CurrYear = Workbooks("Gap_Analysis.xlsx").Worksheets("SA2 KR").Range("U6:AF6") 

ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select 

With ActiveChart.SeriesCollection.NewSeries 
    .Name = "Proposed Forecast" 
    .Values = PropFC 
    .XValues = k_Month 
End With 

With ActiveChart.SeriesCollection.NewSeries 
    .Name = "Released Forecast" 
    .Values = RelFC 
    .XValues = k_Month 
End With 

With ActiveChart.SeriesCollection.NewSeries 
    .Name = "Current Year" 
    .Values = CurrYear 
    .XValues = k_Month 
End With 

With ActiveChart.SeriesCollection.NewSeries 
    .Name = "Previous Year" 
    .Values = PrevYear 
    .XValues = k_Month 
End With  

    ActiveChart.SetSourceData Source:=Workbooks("Gap_Analysis.xlsx").Sheets(_ 
     "SA2 KR").Range("AO6:AZ6,U6:AF6,U4:AF4") 

End Sub 

正如您所看到的标题,我试图使用两个不同的Excel文件中的多个范围来创建一个完整的图。有4个范围,分别是建议预测,发布预测,当年和上年。从两个不同的工作簿中选择多个范围,在Excel 2013中创建一个完整的图表VBA

当我将所有这些组合在一起并运行时,该图不显示当前年份和上一年的数据,因为它们位于不同的excel文件中,但仅显示提议的预测和已发布的预测。

我现在可以通过将year.file中的数据导入forecast.file来解决此问题。但我不想这样做,因为这会花费我太多时间。请给我指导,以解决而不是引用外部范围直接,你调整你的代码来创建你的主文件链接到他们在中心工作这一具有挑战性的VBA范围问题

+0

顺便说一句,图像文件是完整的,并明确缩进。 –

回答

0

如果什么?通过这种方式,图形只在主文件中引用范围,并且在查看图形时,所有源编号都在您面前 - 以及用户 - 参考。

强调:您不会引入数据 - 只需使用VBA代码将其链接起来即可。

相关问题