如何在Excel中使用VBA创建动态图表(简易步骤)?

  • Share This
Hugh West

在这篇文章中,我将向你展示如何在Excel中使用以下方法创建一个动态图表 VBA .

下载实践工作手册

下载这本练习手册,在阅读本文时进行练习。

Excel.xlsm中的动态图表

使用Excel VBA创建动态图表的5个简单步骤

这里我们有一个工作表,叫做 第1张 含有一个表,其中包含 收入 几年来,一个公司的收入和收益。

我们今天的目标是要产生 动态图表 使用Excel从这个表格中找出 VBA .

⧪ 步骤1:打开Visual Basic窗口

新闻 ALT+F11 键盘上的 视觉基础 窗口。

⧪ 步骤2:插入一个新模块

转到 插入> 模块 在工具栏中的选项中,点击 模块 一个新的模块名为 模块1 将被插入。

⧪ 第三步:放入VBA代码

这是最重要的一步,把 VBA 模块中的代码。

⧭ VBA代码。

 Sub Create_Dynamic_Chart() Application.ScreenUpdating = False With ActiveSheet.Shapes(Application.Caller).Fill.ForeColor If .Brightness = 0 Then .Brightness = -0.150000006 Else .Brightness = 0 End If End With Dim Sequence() As String Desired_Shapes = Array("rounded Rectangle 1", "rounded Rectangle 2", "rounded Rectangle 3") For i = LBound(Desired_Shapes) ToUBound(Desired_Shapes) With ActiveSheet.Shapes(Desired_Shapes(i)) If .Fill.ForeColor.Brightness = -0.150000006 Then Sequence(UBound(Sequence)) = .TextFrame2.TextRange.Characters.Text ReDim Preserve Sequence(UBound(Series) + 1) End If End With Next i If UBound(Sequence)> 0 Then ReDim Preserve Sequence(UBound(Sequence) - 1)Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter Field:=1 Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _ Field:=1, Criteria1:=Sequence, Operator:=xlFilterValues Application.ScreenUpdating = True End Sub 

⧪ 第4步:以XLSM格式保存工作簿

接下来,返回到工作簿,将其保存为一个 Excel Macro-Enabled 工作簿 .

⧪ 第五步:最终输出

运行代码,从 运行子程序/用户表格 工具栏中的选项。

你会发现一个基于表格创建的动态图表,在 第二张 的工作表。

需要记住的事情

表格是创建动态图表的最好方法。 因为如果你从表格中添加或删除一个元素,表格会自动调整,图表也是如此。 但也有其他方法来实现这一点,比如使用一个 命名范围 .

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.