【问题标题】:VBA Run Time error in Excel 2013 that works well in Excel 2010Excel 2013 中的 VBA 运行时错误在 Excel 2010 中运行良好
【发布时间】:2017-07-22 16:43:40
【问题描述】:

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

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

我已经知道这个错误与范围的可用性有关。问题是是否有任何简单的解决方法?相关代码-sn-p:

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

感谢您的帮助!

【问题讨论】:

    标签: excel-2010 excel-2013


    【解决方案1】:

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

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

    【讨论】:

    • 嗨,是的 - 这就是问题所在,我稍微修改了代码并将两个缺失的工作表添加到目标工作簿中,现在它又可以工作了!感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    • 2017-11-28
    • 2016-07-06
    • 1970-01-01
    相关资源
    最近更新 更多