我搜尋了現有的問題並找到了類似的問題和答案,但沒有一個符合我的要求。
我有一個電子表格,我希望能夠單擊一個電子表格中的連結將您帶到第二個電子表格,將單擊的單元格中的值放入第二個電子表格的欄位中。
例如,A 欄中的第一個工作表將包含單位IT
、Finance
和Networks
點擊這些欄位中的任何一個都應將使用者帶到名為「子單元」的第二個工作表,將儲存格的值放置在A1 中,然後我可以在其中編寫if 語句來填充子單元列表,例如按一下IT
將放入IT
儲存格 A1然後透過 A3-A5 中的 if 語句將這些變為
Security, Support, Development
然後我會重複使用類似的 VB 程式碼,這樣如果有人點擊子單元名稱,就會將他們帶到第三個工作表,其中將顯示子單元的詳細資訊。
希望這是有道理的,
我對 VBA 很陌生,所以請指出我應該在哪裡放置任何程式碼(例如在選項卡中、右鍵單擊、查看程式碼或在其他地方)
答案1
在 Sheet 1 中按下ALT+F11
取得 VB 編輯器。複製並貼上此程式碼作為標準模組。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MsgBox "Range " & Target.Address & " was double clicked"
On Error Resume Next
Dim xRg As Range
Set xRg = Application.Selection
Range("A80").Copy Sheet2.Range("A80")
Application.Goto Worksheets("Sheet2").Range("A80"), True
End Sub
怎麼運作的:
- 在儲存格中寫入一些資料
A80
並雙擊該儲存格。 - 您將收到一個訊息框來確認已按一下哪個儲存格。
- 按下
OK
按鈕。 - Excel 會將儲存格指標放置到工作表 2 的儲存格中,並將
Copy & Paste
其內容放置在工作表 2 的儲存格中。A80
A80
注意
- 根據需要調整程式碼中的儲存格參考和工作表名稱。
- 您可以參考單元格範圍
Copy & Paste
。 - 為此,請編輯此行,
Range("A80:A85").Copy Sheet2.Range("A80")