Excel 2013中的VBA运行时错误在Excel 2010中运行良好

时间:2017-07-22 16:43:41

标签: excel-2010 excel-2013

我有一个宏,我们使用多年并在Excel 2010中运行良好。但是,现在我们升级到Excel 2013,它给出了运行时错误9。 调试后,以下代码部分将突出显示:

Sheets(1).Copy after:=Workbooks(mfname).Sheets(3)

我已经知道这个错误必须对范围的可用性做些什么。问题是这是否有任何简单的解决方法?相关的代码段:

Workbooks.Add
mfname= ActiveWorkbook.Name

Workbooks.Open template
template_name = ActiveWorkbook.Name
Sheets(1).Copy after:=Workbooks(mfname).Sheets(3)

Workbooks(mfname).Activate
Sheets(1).Delete
Sheets(1).Delete
Sheets(1).Delete
lapok = Sheets.Count

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我不是VBA专家,但谷歌搜索很少说错误9是下标超出范围错误。

这可能来自Sheets(3)。我还记得excel在这些版本中默认打开了3张。也许现在情况并非如此,并导致问题。