Re: [問題] EXCEL VBA陣列索引超出範圍(錯誤代碼9)

作者: newacc (XD)   2023-04-26 16:22:28
推文空間有點小,幫你修一下扣,但我沒測試過
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
作者: lulumiya2000 (igneous)   2023-04-26 16:30:00
挖好心人出現!!!太感謝了但我剛剛測試一下 發現在C138就停下來了Set targetRange = Sheets(cell.Value).Range("E2")在這裡出現陣列索引超出範圍抱歉 是我白癡 C138那裏多一個空格 太感謝了拉

Links booklink

Contact Us: admin [ a t ] ucptt.com