创建图表模板宏

时间:2018-11-07 15:27:23

标签: excel vba

我正在尝试创建Excel模板文件。该模板文件将从Matlab导入数据。然后,我想运行一个宏,该宏允许我根据给定时间想要绘制的内容选择不同的变量进行绘制。 我有一种方法可以选择要绘制的初始数据的列。我只是不确定如何在vba中设置图表模板。

我的模板Excel文件有一个特定的工作表,其中包含4个图形,即扭矩,速度,功率,温度。

我当前拥有的代码就是这样

Sheets("Graphs").Select
    ActiveSheet.ChartObjects("Chart 1").Activate

    Set My_Active_Chart = AvtiveSheet.ChartObject(1)
    Set Range_X = Range(Cells(3, 2), Cells(Last_Row, 2))

    ActiveChart.ChartType = xlLine
    My_Active_Chart.Chart.SetSourceData Source:=ActiveWorkbook.Sheets("CAN Data")

    For X = 1 To Torque_Col_Size

        Set Range_Y = Range(Cells(3, Torque_Col(1, X)), Cells(Last_Row, Torque_Col(1, X)))
        ActiveCahrt.SeriesCollection.Add Source:=ActiveWorkbook.Sheets("CAN Data").Range_Y
        ActiveChart.SeriesCollection(1).XValues = Range_X
    Next X

    With ActiveChart
        .HasTitle = True
        ChartTitle = "CAN Torque Data"
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Time (s)"

        .Axes(xlCatagory, xlPrimary).HasTitle = True
        .Axes(xlCatagory, xlPrimary).AxisTitle.Characters.Text = "Torque (Nm)"

    End With

但是我在指定数据范围时遇到一些问题,这需要动态进行,因为数据量几乎每次都会改变。

我已经在上一个Sub中指定了Last Data,并将其存储在Last_Row变量中。

感谢您的帮助。

0 个答案:

没有答案