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