通過建立單元各的超級連接,點擊鏈接後,自動對另一表格中的數據進行查詢。
原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的宏安全性,工具/宏/安全性:設置爲中,這樣保存好的文件打開時可以進行選擇是否啓動宏。