作者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://webptt.com/cn.aspx?n=bbs/Office/M.1682497350.A.0F9.html
1F:推 lulumiya2000: 挖好心人出现!!!太感谢了 04/26 16:30
2F:→ lulumiya2000: 但我刚刚测试一下 发现在C138就停下来了 04/26 16:31
3F:→ lulumiya2000: Set targetRange = Sheets(cell.Value).Range("E2") 04/26 16:32
4F:→ lulumiya2000: 在这里出现阵列索引超出范围 04/26 16:32
5F:推 lulumiya2000: 抱歉 是我白痴 C138那里多一个空格 太感谢了拉 04/26 16:35