工作表(“工作表名称”),select错误

在Excel 2013中的.xlsm文件中运行VBAmacros时遇到问题。表单的所有实例Sheets("SheetName").SelectSheets("SheetName").Activate执行时Sheets("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错误

macros应该重置工作簿中几张纸上的一些字段。 这个macros以前是在团队成员使用早期版本的Excel处理文件之前工作的,从那之后就发生了这个错误。 通过search这个具体的情况,我一直没能find很多东西。 由于时间限制,恢复到旧版本将是我的最后手段。 任何解决这个问题的方法都很棒。

请不要使用。 .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 

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

这不是你的问题的解决scheme,只是要检查的事情列表:

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