Excel vba阻止拖动工作表顺序

时间:2013-06-15 23:44:35

标签: excel vba excel-vba

是否有一种vba方法可以防止重新排列工作表?例如:Sheet1,Sheet2,Sheet3无法拖动到Sheet3,Sheet2,Sheet1的新顺序。

例如:我有代码Sheet1.cells(1,1).value,并通过重新排列工作表来更改对象引用。我需要禁用它,以便用户不会无意中破坏代码。也许是计划失败但是在此之前我一直坚持下去,直到重写成为可能。

如果可能的话,需要2003,2007,2010及以后的解决方案。

我在网上,对象浏览器或stackoverflow上都没有看到任何主题或解决方案,所以非常感谢您提供的帮助/参考。

感谢。

1 个答案:

答案 0 :(得分:2)

我看到了代码的问题。

Main 1

Sub Main(sheetIndex as integer)

Dim ws as worksheet
Dim x as String

    Set ws = Sheets(sheetIndex)

    x = ws.Cells(1, 1).value

End sub 

更改为:

Main Sheet1

Sub Main(sheetIndex as Object)  

Dim x as String      

    x = sheetIndex.Cells(1, 1).value

End sub 

重新排列工作表现在不会破坏代码。现在我需要挖掘代码并找到更多实例。谢谢Tim,Alexandre。