在Excel中使用VBA编辑系列数据范围时遇到问题

时间:2017-11-15 22:12:52

标签: excel vba excel-vba excel-2010

所以我的宏意味着从单独的文件中获取最新数据并将它们粘贴到正确行中的下一个空单元格中。之后,它应该编辑一个图表,以便绘制最新的6个数据点。到目前为止,我有这个:

Sub Update(startCell, data, sht, cht, sers)
    ActiveWorkbook.Sheets(sht).Activate
    Range(startCell).Select
    Do While (Not IsEmpty(ActiveCell))
        ActiveCell.Offset(0, 1).Select
    Loop
    Dim x As Range
    Dim y As Range
    Dim NewRng As String
    Dim ChrtNm As String
    Dim temp As Variant


    Set temp = Worksheets(sht).ChartObjects(cht).chart.SeriesCollection(sers)
    ChrtNm = temp.Name

    Set x = ActiveCell
    Set y = ActiveCell.Offset(0, -5)
    NewRng = x.Address & ":" & y.Address
    NewRng = "='" & ChrtNm & "'!" & NewRng

    ActiveCell.Value() = data
    ActiveSheet.ChartObjects(cht).Activate
    ActiveChart.PlotArea.Select
    ActiveChart.SeriesCollection(sers).Values = NewRng

End Sub

一切都可以工作到最后,而不是传递SeriesCollection(sers)。重新获取所需的信息,以获取它传递的信息,作为值创建的文字字符串。我使用这种复杂的方法,因为其他似乎工作,当我尝试录制一个marco只是为了学习如何编辑系列这是我得到的:

Sub ChangeRange()
'
' ChangeRange Macro
'

'
    ActiveSheet.ChartObjects("Graphique 3").Activate
    ActiveChart.PlotArea.Select
    ActiveChart.SeriesCollection(1).Values = "='Stewardship-Online'!$AP$29:$AU$29"
End Sub

0 个答案:

没有答案