2013-05-17 101 views
1

我在excel中遇到了超鏈接問題。我試圖設置從一個表到另一個超鏈接,但源和目標單元格需要改變每一次循環。基本上我想要將數據從組1中的一個單元移動到組2中的另一個單元,然後將組2中的超鏈接設置回組1中的同一單元。我有200個值,所以我想在循環中執行此操作。我只是無法弄清楚我的SubAddress有什麼問題!我怎樣才能讓我的超鏈接工作? (Excel,VBA)

這是我的代碼如下.....

謝謝你的幫助。

Sub Transfer_and link() 
Dim i As Integer 
Dim LastRow1, As Long 

LastRow1 = Sheets("GROUP 1").Cells(Rows.Count, "A").End(xlUp).Row 

a = 14 
For i = 5 To LastRow1 Step 2 
Sheets("GROUP 2").Cells(a, 2) = Sheets("GROUP 1").Cells(i, 1) 
Sheets("GROUP 2").Cells(a, 3) = Sheets("GROUP 1").Cells(i, 9) 
Sheets("GROUP 2").Cells(a, 4) = Sheets("GROUP 1").Cells(i, 10) 

Sheets("GROUP 1").Activate 
Cells(i, 1).Select 
Worksheets(2).Hyperlinks.Add Anchor:=Worksheets(2).Cells(a, 2), Address:="", _ 
SubAddress:=ActiveCell.Address 

a = a + 1 
Next i 
+0

它是什麼做錯了什麼? – Sorceri

+0

如果我按GROUP 2單元格B14中的超鏈接,它指的是同一工作表(GROUP 2)中的單元格A5。我需要它參考另一個工作表(組1)中的單元格A5。 – user2304163

回答

4

ActiveCell.Address只返回單元格引用。您還需要添加工作表參考。

它會是這樣的:

SubAddress:=ActiveCell.Worksheet.Name & "!" & ActiveCell.Address 

如果您的工作表名稱可能有像你這樣的一個空間,它會實際上有是這樣的:

SubAddress:="'" & ActiveCell.Worksheet.Name & "'!" & ActiveCell.Address 
+0

謝謝!我一直在努力整天,隨處看,問題現在解決:) – user2304163

+1

在這種情況下,接受這個答案。基於你的熱情,你也應該贊同它。 –

相關問題