【发布时间】:2013-06-15 23:44:35
【问题描述】:
有没有一种 vba 方法可以防止重新排列工作表?例如:Sheet1、Sheet2、Sheet3 不能拖动到 Sheet3、Sheet2、Sheet1 的新顺序。
例如:我有代码 Sheet1.cells(1, 1).value 并通过重新排列工作表来更改对象引用。我需要禁用它,这样用户就不会无意中破坏代码。也许是计划失败,但我仍然坚持这一点,直到可以重写为止。
如果可能的话,需要 2003 年、2007 年、2010 年及以后的解决方案。
我在网络、对象浏览器或 stackoverflow 上没有看到任何主题或解决方案,因此非常感谢您提供的帮助/参考。
谢谢。
【问题讨论】:
-
将工作表拖动到其他位置不会更改其代号,只会更改其
Index属性。 -
@AlexandreP.Levasseur 就像我说的现在不可能,我希望它是。不过我知道你来自哪里。
-
使用工作表名称是使用索引的一个很好的替代方法。设置 ws = Sheets("sheet_name")
-
@SamWard 我需要能够让用户更改工作表名称我会这样做。谢谢。