vba代码中,提示下标越界,哪里越界,如何解决?

Sub拆分到工作簿()DimwkAsWorkbook,ss$,k%Application.DisplayAlerts=FalseForEachshtInWorkbooks... Sub 拆分到工作簿()
Dim wk As Workbook, ss$, k%
Application.DisplayAlerts = False
For Each sht In Workbooks("122").Sheets
Set wk = Workbooks.Add
k = k + 1
Workbooks(1).Sheets(k).Copy Workbooks(2).Sheets(1)
ss = ThisWorkbook.Path & "\" & sht.Name & ".xlsx"
wk.SaveAs ss
wk.Close
Next
Application.DisplayAlerts = True
MsgBox "拆分工作簿完成!"
End Sub
展开
 我来答
网海1书生
科技发烧友

2019-12-21 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
按我的理解
Workbooks(1).Sheets(k).Copy Workbooks(2).Sheets(1)
应该改为
sht.Copy wk.Sheets(1)
然后把 k=k+1 这行删掉即可
司马刀剑
高粉答主

2019-12-21 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7489万
展开全部
看具体的语句,如果是cells、sheets等的引用,那是引用的行列、工作表不存在造成的,鼠标放在引用的括号里面,看提示的值就明白了。如果报错语句是对一个数组的使用,那是引用的数组下标超过了定义的范围。 解决办法:适当的修改语句。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式