看板 Office 關於我們 聯絡資訊
推文空間有點小,幫你修一下扣,但我沒測試過 Sub three() Dim cell As Range 'Dim targetSheet As Worksheet Dim returnLink As Hyperlink Dim targetRange As Range 'Dim myStr As String '從第一分頁中的C3單元格獲取超連結 For Each cell In Sheets("庫存總表").Range("C3:C1056") '在每次循環中定義myStr變數,以確保其值不會超出範圍 '不用這個變數,你確保的方式其實是檢查儲存格中超連結數量 'myStr = cell.Value If cell.Hyperlinks.Count > 0 Then '獲取目標工作表和儲存格 '簡化寫法,其他部份有需要用到的話再改回來就好 Set targetRange = Sheets(cell.Value).Range("E2") '創建返回超連結 '應該可以單純用targetRange.Hyperlinks.Add就好 '不需要再set給returnLink,不過若是debug方便可以留著 Set returnLink = targetRange.Hyperlinks.Add(Anchor:=targetRange, _ Address:="", SubAddress:="庫存總表!" & cell.Address, _ TextToDisplay:="返回總表") End If Next cell End Sub -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.174.10.208 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1682497350.A.0F9.html
lulumiya2000: 挖好心人出現!!!太感謝了 04/26 16:30
lulumiya2000: 但我剛剛測試一下 發現在C138就停下來了 04/26 16:31
lulumiya2000: Set targetRange = Sheets(cell.Value).Range("E2") 04/26 16:32
lulumiya2000: 在這裡出現陣列索引超出範圍 04/26 16:32
lulumiya2000: 抱歉 是我白癡 C138那裏多一個空格 太感謝了拉 04/26 16:35