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文件中,但仅显示建议的预测和已发布的预测。
我现在可以通过将year.file中的数据转换为forecast.file来解决此问题。但我不想这样做,因为这对我来说需要太多时间。请给我一个解决这个具有挑战性的VBA范围问题的指南
答案 0 :(得分:0)
如果您不是直接引用外部范围,而是调整代码以在主文件的中央工作表中创建指向它们的链接,该怎么办?这样,图形仅引用主文件中的范围,并且在查看图形时,所有源数都在您面前 - 以及用户 - 以供参考。
要强调:您不会引入数据 - 只需使用VBA代码链接它。