2016-08-05 101 views
0

我有一張彙總表,我用它作爲索引通過超鏈接訪問多個工作表。我正在對它進行擴展,以便它們直接鏈接到每張表格中的相應行。使用動態超鏈接中的變量值

我對VBA很陌生,對語法不太確定。 我基本上試圖使用變量j的值作爲單元格引用中的行號。 "'!A"是我在下面的代碼中的單元格ref的第一部分。然後我嘗試連接字符串以將j添加爲行號。這可以使用下面的代碼來完成嗎?我試圖圍繞j括號,撇號無濟於事。

For j = 2 To LastUsedRow 

    link = "=Hyperlink(""#'" & (ThisWorkbook.Worksheets(i).Name) & "'!A" & j",""" & (ThisWorkbook.Worksheets(i).Name) & """)" 

非常感謝

回答

1

Debug.Print是你的朋友。這就是你當前的代碼(假設j = 1ThisWorkbook.Worksheets(i).Name = "Sheet1")獲得:

=Hyperlink("#'Sheet1'!A1,"Sheet1") 

的公式應該是這樣的:

=HYPERLINK("#'Sheet2'!A1","Sheet2") 

所以...添加剛纔添加缺少的"

link = "=HYPERLINK(""#'" & (ThisWorkbook.Worksheets(i).Name) & _ 
     "'!A" & j & """,""" & (ThisWorkbook.Worksheets(i).Name) & """)" 
+0

太棒了。非常感謝! –

-1

你需要在你想從j拉,比如什麼叫:j.Value

+1

j是一個整數,它沒有屬性。 – hstay

+0

說誰?看起來像j是一個範圍,從2到LastUsedRow。所以如果你想調用j的值,那麼你可以這樣做:j.value。 – AnthonyT

+0

'Dim j As Range''j = 2' 讓我知道何時可以工作 – hstay

1

的包括VBA字符串中雙引號是棘手的。

link = "=Hyperlink(""#'" & (ThisWorkbook.Worksheets(i).Name) & "'!A" & j & """,""" & (ThisWorkbook.Worksheets(i).Name) & """)" 

將得到link作爲=Hyperlink("#'SheetName'!A2","SheetName")

+0

感謝您的輸入,現在效果很好 –