Excel Quirk – Tab保护另一张纸时停止工作

我刚刚遇到一个怪癖,不知道为什么会发生这种情况 – 我使用Excel 2010,有以下情况:

  1. 我有2张 – “input”表和“保存”表
  2. 保存工作表受保护; input表不是
  3. 我有一个VBAmacros,不保护保存表,将数据复制到2之间,然后重新保护它
  4. 当这个macros运行时,input表(从来没有受到保护)现在有tab键不工作(不能在单元格之间选项卡)。

为了轻松地复制这种情况,我创build了一个新的空白工作簿,并执行以下操作:

  1. 密码保护Sheet2 ,密码为“Test”
  2. 把以下简单的VBA子:

     Sub WeirdQuirk() Sheets("Sheet2").Unprotect Password:="Test" Sheets("Sheet1").Range("A1").Copy Sheets("Sheet2").Range("B1") Sheets("Sheet2").Protect Password:="Test" End Sub 

当我在Sheet1并运行此操作后, Tab键不再在工作表中工作。

任何想法,为什么发生这种情况/如何解决它?

仅供参考,我确实想出了一个解决scheme,但这不是应该做的 – 希望别人有一个更好的解决scheme,我会接受,但我想发布这个以防其他人卡住在这种情况下…

我最终放入的重新启用tab键是添加在代码行中:

 Application.TransitionNavigKeys = False 

要么:

 Application.TransitionNavigKeys = True 

如果你想要启用该function。

希望它可以帮助别人。