表格("图纸名称")。选择错误

时间:2017-05-24 13:23:00

标签: excel vba excel-vba

在Excel 2013中的.xlsm文件中运行VBA宏时遇到问题。 执行时出现Sheets("SheetName").SelectSheets("SheetName").Activate错误的所有实例。

这是其中一个错误代码示例的示例:

Sub Reset_Additional()
    Application.ScreenUpdating = False
    Sheets("Additional").Select                 <-- Code breaks on this line

    Range("additionalcheckbox").Select
    Selection.Value = False
    Range("additional1").Select
    Selection.ClearContents
    Range("additional2").Select
    Selection.ClearContents
    Range("additional3").Select
    Selection.FormulaR1C1 = "=RC[-11]"
    Range("additional4").Select
    Selection.FormulaR1C1 = "=RC[-18]"
    Range("additional5").Select
    Selection.FormulaR1C1 = "=RC[-18]"
    Range("additional6").Select
    Selection.FormulaR1C1 = "=RC[-9]"

    Sheets("Macro Rules").Select

    Range("B21").Select
    Selection.FormulaR1C1 = "=RC[+1]" 

    Application.ScreenUpdating = True
End Sub

这是发生的VB错误:
VB Error

宏应该重置工作簿中几张表的某些字段。在团队成员使用早期版本的Excel处理该文件之前,该宏以前正在工作,从那以后发生了这个错误。通过搜索这个具体情况,我找不到多少东西。由于时间限制,恢复旧版本将是我的最后手段。任何解决方法都很棒。

2 个答案:

答案 0 :(得分:2)

这不是您问题的解决方案,只是要检查的事项列表:

  1. 错误的工作簿处于活动状态
  2. 标签名拼写错误
  3. 这是一个保护/隐藏问题

答案 1 :(得分:1)

请不要使用.Selection 你应该使用:

Sub Reset_Additional()
    Application.ScreenUpdating = False

    With Worksheets("Additional")
        .Range("additionalcheckbox").Value = False
        .Range("additional1").ClearContents
        .Range("additional2").ClearContents
        .Range("additional3").FormulaR1C1 = "=RC[-11]"
        .Range("additional4").FormulaR1C1 = "=RC[-18]"
        .Range("additional5").FormulaR1C1 = "=RC[-18]"
        .Range("additional6").FormulaR1C1 = "=RC[-9]"
    End With

    With Sheets("Macro Rules")
        .Range("B21").FormulaR1C1 = "=RC[+1]"
    End With

    Application.ScreenUpdating = True
End Sub

如果您的代码停止,您可能拼错了工作表名称。