将图表范围更新到最后一行

时间:2019-02-25 12:06:37

标签: excel vba

我想使用宏更新现有图表中的范围。我的数据将始终从同一行开始,但是随着添加新数据(例如$ AK $ 15,$ AK $ 16)而将继续增长。我知道这可以通过使用动态图表来完成,但是有人要求我通过VBA来完成。我的代码如下:

ThisWorkbook.Worksheets("Overview - Tier 1").Activate
ActiveSheet.ChartObjects("Chart 7").Activate
ActiveChart.SetSourceData Source:=Worksheets("Graph Data - Tier 1").Range("$AI$9:$AK$14")

我尝试如下修改我的代码,但是它不起作用(我遇到运行时错误1004:应用程序定义的错误或对象定义的错误)

ThisWorkbook.Worksheets("Overview").Activate
Dim LastRow As Long
LastRow = Worksheets("Graph Data").Range("$AI$9" & Rows.Count)
ThisWorkbook.Worksheets("Overview").Activate
ActiveSheet.ChartObjects("Chart 7").Activate
ActiveChart.SetSourceData Source:=Worksheets("Graph Data").Range("$AI$9::$AK$14 & LastRow")

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

这可能会有所帮助:

Option Explicit

Sub test()

    Dim LastRow As Long

    With ThisWorkbook.Worksheets("Graph Data")
        LastRow = .Cells(.Rows.Count, "AI").End(xlUp).Row
    End With

    With ThisWorkbook.Worksheets("Overview")
        .ChartObjects("Chart 7").Chart.SetSourceData Source:=Worksheets("Graph Data").Range("AI9:AK" & LastRow)
    End With

End Sub