作者newacc (XD)
看板Office
標題Re: [問題] EXCEL VBA陣列索引超出範圍(錯誤代碼9)
時間Wed Apr 26 16:22:28 2023
推文空間有點小,幫你修一下扣,但我沒測試過
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