神奇!Excel也能制作感应型动态图表

2019-05-23 16:30:41 0 0

动态图表这个没什么了不起的,大多数人都会做。不过今天这种,估计你以前从没见过。


效果图:将鼠标悬停在某一选项上时(神奇之处在于,鼠标这里没有点击内容),图表能够自动展示对应的数据系列。


利用函数结合VBA代码制作动态图表,当鼠标悬停在某一选项上时,图表能够自动展示对应的数据系列。

             

操作步骤如下。


Step 01 按Alt+F11组合键打开VBE窗口,在VBE窗口中依次单击“插入”→“模块”,然后在模块代码窗口中输入以下代码,最后关闭VBE窗口。

Function techart(rng AsRange)

   Sheet1.[g1] = rng.Value

End Function


这个代码什么意思啊?Sheet1.[g1]是什么意思?


这是在VBE里面自定义一个名为techart的函数。代码中的Sheet1.[g1]为当前工作表的G1单元格,G1单元格主要用来获取触发后的分类,可根据实际表格情况设置单元格地址。


Step 02 在G1单元格中任意输入一个分类名称,如口红,在G2单元格中输入以下公式,向下复制到G13单元格。

=HLOOKUP(G$1,B$1:E2,ROW(),)


Step 03 选中G1:G13单元格区域,在“插入”选项卡中单击“插入柱形图或条形图”命令,选择“簇状柱形图”。


单击图表柱形系列,在编辑栏更改SERIES函数第二参数为A2:A13单元格区域,美化图表。


Step 04 使用公式制作动态分类。


选中J2单元格,输入公式,右拉。

=IFERROR(HYPERLINK(techart(B1)),B1)


公式中的techart,是之前在VBE代码中自定义的函数,将各产品的列标签单元格引用作为自定义函数的参数,再使用HYPERLINK函数触发自定义函数。由于HYPERLINK的结果会返回错误值,因此使用IFERROR屏蔽错误值,将错误值显示为对应的产品名称。


提示:HYPERLINK函数,创建了一个超链接,当鼠标移动到超链接上时,会出现“屏幕提示”,同时鼠标指针由“正常选择”切换为“链接选择”,当鼠标停留在超链接文本上时,超链接会读取HYPERLINK函数的第一参数返回的路径,作为“屏幕提示”的内容,此时,就会触发执行第一参数中的自定义函数。


Step 05 设置单元格条件格式。


选择J2:M2单元格区域,设置“填充颜色”为浅绿色。然后依次单击“开始”→“条件格式”→“新建规则”,打开“新建格式规则”对话框。单击“使用公式确定要设置格式的单元格”,然后在“为符合此公式的值设置格式”编辑框中输入以下公式。

=J2=$G$1


单击“格式”按钮打开“设置单元格格式”对话框。切换到“字体”选项卡,设置字体颜色为白色。再切换到“填充”选项卡,设置填充颜色为绿色。最后单击“确定”按钮关闭对话框。设置条件格式的作用是凸显当前触发的产品名称。


Step 06 在J1单元格输入以下公式作为动态图表的标题。设置后将图表与单元格对齐。

=G1&"2018年销售趋势"


至此,图表制作完成。由于使用了VBA代码,所以要将工作簿保存为“Excel 启用宏的工作簿(*.xlsm)”格式。


动态图表好像也没那么难,主要还是要基础牢固,然后利用各种技能来实现就很容易了。