| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 441 人关注过本帖
标题:请问我下面这个程序怎么总提示下标越界
只看楼主 加入收藏
cdhilite
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2018-1-20
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:4 
请问我下面这个程序怎么总提示下标越界

Sub 获取工作表名称()
    Columns("A:A").Select
    Selection.ClearContents
i = 1
For Each sh In Sheets
Cells(i, 1) = sh.Name
i = i + 1
Sheets("目录").Hyperlinks.Add Anchor:=Sheets("目录").Cells(i, 1), _
Address:="", SubAddress:="'" & Sheets(i).Name & "'!A1", _
TextToDisplay:=Sheets(i).Name, ScreenTip:="单击打开:" & Sheets(i).Name
Next
End Sub
Function IsSht(ShtName As String)
On Error Resume Next
Dim sht As Worksheet
Set sht = Sheets(ShtName)
IsSht = (Err = 0)
End Function
Sub 返回目录()
'如果有“目录”则返回“目录”工作表
If IsSht("目录") Then Sheets("目录").Select
End Sub
搜索更多相关主题的帖子: Sub 目录 End Name 提示 
2020-06-03 09:31
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:275
帖 子:4575
专家分:28392
注 册:2008-10-15
收藏
得分:20 
i = 1                        '起始
For Each sh In Sheets
Cells(i, 1) = sh.Name      
i = i + 1                    '下一个

Sheets("目录").Hyperlinks.Add Anchor:=Sheets("目录").Cells(i, 1), _
Address:="", SubAddress:="'" & Sheets(i).Name & "'!A1", _
TextToDisplay:=Sheets(i).Name, ScreenTip:="单击打开:" & Sheets(i).Name

这句里面,有这节,
Sheets(i).Name
当所有的工作表都索引完后,i 的值仍然是下一个可能工作表的编号,但这时工作表都已索引完了,也已经 i 大于了工作表的总数,这节就导致 下标越界。

授人于鱼,不如授人于渔
早已停用QQ了
2020-06-03 10:38
cdhilite
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2018-1-20
收藏
得分:0 
回复 2楼 风吹过b
谢谢大侠,请问怎么更改?谢谢!
2020-06-03 11:09
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:275
帖 子:4575
专家分:28392
注 册:2008-10-15
收藏
得分:0 
把 i=i+1 放到 这句后面,也就是 next 上面一行就是了。

你没发现你这里生成的内容不对吗?
Sheets("目录").Hyperlinks.Add Anchor:=Sheets("目录").Cells(i, 1), _
Address:="", SubAddress:="'" & Sheets(i).Name & "'!A1", _
TextToDisplay:=Sheets(i).Name, ScreenTip:="单击打开:" & Sheets(i).Name

授人于鱼,不如授人于渔
早已停用QQ了
2020-06-03 12:22
cdhilite
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2018-1-20
收藏
得分:0 
谢谢大侠!
2020-06-03 13:47
快速回复:请问我下面这个程序怎么总提示下标越界
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050705 second(s), 8 queries.
Copyright©2004-2020, BCCN.NET, All Rights Reserved