excel的宏vba编程把工作薄作为新工作表文件重新保存,老是提示我下标越界

保存在个人宏工作表里,处理默认的空白工作薄,有三个表sheet1sheet2sheet3
现在只能保存sheet1
求指导
Sub Macro2()
'
' Macro2 Macro
' 宏由 微软用户 录制,时间: 2016-6-28
'

'
For i = 1 To 3
Dim str As String
Sheets(i).Select
Sheets(i).Move
str = "D:\我的文档\" & Sheets(i).Name & ".xls"
ActiveWorkbook.SaveAs Filename:=str, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
Windows(Sheets(i).Name & ".xls").Activate
ActiveWorkbook.Close
Next i
End Sub

第1个回答  2016-06-28
Excel提示下标越界是VBA程序运行的一个错误提示,原因有以下几个:1、引用了不存在的数组元素:下标比可能下标范围大或小,或是在应用程序中这一边的数组没有指定范围。2、声明数组时没有指定元素的数目:引用了不存在的集合成员。3、使用速写形式的下标,结果指定了错误的元素。4、引用或操作的工作薄、工作表不存在。追问

多谢,刚点过提交问题就想到了,这是个变长数组!

第2个回答  2016-07-06
保存的工作表文件名称及路径一致吗
相似回答