Excel 2013随机工作表激活发布macros运行

我有一个问题,自从我更新Office套件到2013年,我以前版本中运行的代码没有问题。 但是,现在在2013年,(同一个)macros总是激活书本运行中的最后一张。 该书的结构是控制表(其中button和macros被称为),其他表,…,最后表。 点击控制页上的任何button后,总是会导致我在最后的工作表上处于活动状态。 这是Excel 2013完全独一无二的。

在所有这些脚本中,都有一个保护模型(对于wb.sheet中的每个表单,保护/不保护),所以也许在这个循环中,它在最后一个表单上有点不知所措?

该代码的语法是:

Public Sub sbProtection(ByVal sType As String) Dim wb As Workbook Dim ws As Worksheet 'Setup Set wb = ThisWorkbook 'Toggle If UCase(sType) = "PROTECT" Then For Each ws In wb.Sheets ws.Protect sPassword Next ws ElseIf UCase(sType) = "UNPROTECT" Then For Each ws In wb.Sheets ws.Unprotect sPassword Next ws End If 'Cleanup Set wb = Nothing Set ws = Nothing End Sub 

任何想法发生了什么?