如何在输入新数据后自动更新Excel中的图表?

如何在输入新数据后自动更新Excel中的图表?

Excel是一个广泛使用的电子表格软件,人们可以用它来呈现、处理和分析数据。其中一个最有用的功能之一就是使用Excel创建图表。然而,数据肯定会不断地发生变化,因此更新Excel图表是非常必要的。本文将说明如何在输入新数据后自动更新Excel中的图表。

准备工作

在开始之前,您需要创建一个Excel表格,并使用这个表格创建一个图表。首先,将数据输入Excel中,然后选择需要包含在图表中的数据。接着,从Excel中的“插入”选项卡选择图表类型,在弹出的“创建图表”对话框中选择所需的图表类型。最后,按照向导的提示设置图表选项并设置图表位置。

常规方法手动更新图表

在Excel中手动更新图表非常简单。只需右键单击图表,然后选择“更新图表”选项即可。如下所示的简单代码可以帮助您实现此操作:

ActiveSheet.ChartObjects("Chart 1").Chart.Refresh

这段代码将更新名为“图表1”的图表。

但是,这种方式并不是非常方便,特别是在您的工作表数据发生变化时,需要手动更新图表会浪费许多时间和精力。因此,自动更新图表非常重要。

VBA自动更新图表

要实现自动更新图表,您需要使用Visual Basic for Applications(VBA)编写一些代码。VBA是Excel的编程语言,可以使用它来自动化需要反复执行的任务。下面是一些VBA代码,这些代码将在Excel数据发生变化时自动更新图表。

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim lastrow As Integer
    Dim lastcolumn As Integer

    With ActiveSheet

        '获取数据最后一行和最后一列
        lastrow = .Cells(.Rows.Count, 1).End(xlUp).Row
        lastcolumn = .Cells(1, .Columns.Count).End(xlToLeft).Column

        '获取已有图表最后一行和最后一列的最大值
        chartlastrow = .ChartObjects("Chart 1").Chart.SeriesCollection(1).Values.Count
        chartlastcolumn = .ChartObjects("Chart 1").Chart.SeriesCollection(1).XValues.Count

        '如果数据最后一行和最后一列的数量大于已有图表
        '的最后一行和最后一列的数量,则更新图表
        If lastrow > chartlastrow Or lastcolumn > chartlastcolumn Then
            .ChartObjects("Chart 1").Chart.SetSourceData _
            Source:=Range(.Cells(1, 1), .Cells(lastrow, lastcolumn))
        End If
    End With

End Sub

将此代码放在工作表模块中,并输入数据时,工作表将自动更新图表。

结论

在本文中,我们向您介绍了如何自动更新Excel中的图表。如果您想手动更新图表,只需右键单击图表并选择“更新图表”。但是,如果数据集增长并且在长期内需要保持正确,那么使用VBA自动更新图表是非常有用的技巧。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Excel 教程