程序员的知识教程库

网站首页 > 教程分享 正文

图表随鼠标点击改变位置(图表跟随是鼠标显示数据)

henian88 2024-09-10 14:19:12 教程分享 4 ℃ 0 评论

所谓表不如图,图在展示信息的时候会更加直观,更加有视觉效果。有时候我的表格行数会很多,比如我在看经销商销售,或者每款销售的时候就会有很多行,但是我想看每款产品的各周销售走势,以便更好的了解产品,预估未来销售怎么办?我不可能把各周的销售数据放在表上,这样会有很多数据,而且也看不出趋势。那么可以用折线图。但我也不可能放很多折线图,没有位置,也没那么多时间。这个时候就需要用到今天我要分享的知识,让图表随鼠标点击动态改变位置。

这个知识需要用到VBA,没有关系,只要你会用就可以了,不需要全部都懂。首先展示一下效果。

我随机弄了一些数据做一下演示步骤。

这里我准备了三个表,一个款号表是最终展示销售的表格,辅助表是我们放图表数据的,销售是每款的销量数据源。

首先需要把下方代码放入宏编辑界面里的款号表

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Count > 1 Then Exit Sub

Sheets("辅助表").Range("A2") = Range("A" & Target.Row).Value

ActiveSheet.Shapes.Range(Array("图表 1")).Top = Range("A" & Target.Row).Top

End Sub

简单解释一下代码需要理解的地方。

Sheets("辅助表").Range("A2")意思是辅助表A2单元格,是你要放置你需要查看的款号,Range("A" & Target.Row).Value意思是当前款号表的A列与你点击行交叉的那个单元格的值,比如点击第三行则为A3单元格。所以就是辅助表A2单元格的值=当前款号表A3单元格的值。

ActiveSheet.Shapes.Range(Array("图表 1")).Top这里需要改动的是"图表 1"引号内的图表 1,就是你需要动态改变位置的图表。这个只需要你点击图表,然后左上方会显示名称,将其复制黏贴替换图表 1就可以了。其余的代码不要要改动。

代码放置界面如下。

现在我把代码放置的步骤展示出来。

如果代码不能执行,记得将宏安全性改为最低。

如果你没有开发工具可以看我的文章《excel解决最优解问题(规划求解的使用)》,里面有介绍。

代码放好后就是一些表格操作了。

在辅助表里进行如下操作,写好周,然后计算出当前款各周的销售,然后做折线图。

将折线图剪切黏贴到款号表内。如果跳出警告直接点击结束即可,因为代码里的图片名和现在的不一样就会运行错误,只需要改一下即可。

然后点击图表,发现图表名称是图表 2,需要进入宏编辑界面,将图表 1改为 图表 2

点击保存,退出宏编辑界面。再次进入款号表界面,随便点击单元格,图表就会随着鼠标点击单元格移动位置,此代码并未限制图表距离表格最左边屏幕的距离,所以你可以将图表往左右移动,比如下图。

这样,我们就可以很直观方便的看到单款每周的销售走势了。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表