需求:
通过建立单元各的超级连接,点击链接后,自动对另一表格中的数据进行查询。
原CSDN帖子: http://topic.csdn.net/u/20070929/14/bb295ab6-d473-4251-92df-6ada9f73de21.html
设计过程:
假设一销售数据,见下图:
我们希望通过Sheet1中的数据建立超级链接,点击后,对Sheet2中的数据进行查询(在此,我们采用自动筛选)。主要步骤如下:
通过建立单元各的超级连接,点击链接后,自动对另一表格中的数据进行查询。
原CSDN帖子: http://topic.csdn.net/u/20070929/14/bb295ab6-d473-4251-92df-6ada9f73de21.html
设计过程:
假设一销售数据,见下图:

我们希望通过Sheet1中的数据建立超级链接,点击后,对Sheet2中的数据进行查询(在此,我们采用自动筛选)。主要步骤如下:
- 获取自动筛选的代码。我们可以直接使用录制宏获取自己所需的代码(当然,如果有能力自己写代码,这些步骤就可以跳过了)。
- 把Sheet2中的数据进行自动筛选(数据/筛选/自动筛选),然后切换到Sheet1,工具/宏/录制,启动宏录制
- 切换到Sheet2,进行数据筛选数据筛选,在此,我们对“销售数据”列进行筛选
- 筛选后,点击宏录制工具栏上的“停止录制”按钮,停止录制
- 工具/宏/Virtual Basic 编辑器,查看“模块1”的代码,得到如下VBA数据:
Sheets( " Sheet2 " ).Select
Selection.AutoFilter Field: = 1 , Criteria1: = "2007年3月"
- 建立超级链接
- 在Sheet1中,现设置A1和A2单元格的超级连接,都设将其置链接到自己,及分别链接到Sheet1!A1和Sheet1!A2
- 选中A1:A2,光标到选择区又下角,下拉数据,使用数据填充,得到其它数据(自动完成超级链接)。
- 修改超级连接点击事件
- 工具/宏/Virtual Basic 编辑器,修改WorkSheet的FollowHyperlink事件,使用录制宏得来的代码,并适当修改如下:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Sheets( " Sheet2 " ).Select
Selection.AutoFilter Field: = 1 , Criteria1: = Target.Range.Text
End Sub
- 工具/宏/Virtual Basic 编辑器,修改WorkSheet的FollowHyperlink事件,使用录制宏得来的代码,并适当修改如下:
- 完成。不过注意,OFFICE2003默认的宏安全性为高,我们在文件中自己定义了一些代码,默认会被组织,所以我们需要另行修改EXCEL的宏安全性,工具/宏/安全性:设置为中,这样保存好的文件打开时可以进行选择是否启动宏。