Excel vba阻止拖动工作表顺序
是否有vba方法防止重新排列工作表?例如:Sheet1、Sheet2、Sheet3不能拖动到Sheet3、Sheet2、Sheet1的新顺序 例如:我有代码Sheet1.cells(1,1).value,通过重新排列工作表,它会更改对象引用。我需要禁用它,这样用户就不会无意中破坏代码。也许是计划上的失败,但无论如何,在重写之前,我还是要坚持下去 如果可能的话,将需要2003年、2007年、2010年及以后的解决方案 我没有在网上、对象浏览器或stackoverflow上看到任何主题或解决方案,因此非常感谢您提供的帮助/参考Excel vba阻止拖动工作表顺序,vba,excel,Vba,Excel,是否有vba方法防止重新排列工作表?例如:Sheet1、Sheet2、Sheet3不能拖动到Sheet3、Sheet2、Sheet1的新顺序 例如:我有代码Sheet1.cells(1,1).value,通过重新排列工作表,它会更改对象引用。我需要禁用它,这样用户就不会无意中破坏代码。也许是计划上的失败,但无论如何,在重写之前,我还是要坚持下去 如果可能的话,将需要2003年、2007年、2010年及以后的解决方案 我没有在网上、对象浏览器或stackoverflow上看到任何主题或解决方案,因
谢谢。我看到了代码的问题
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。将工作表拖动到其他位置不会更改其代码名,只会更改其
索引属性。@AlexandreP.Levasseur就像我说的,现在不可能,我希望是这样。我知道你是从哪里来的。使用工作表名称是使用索引的一个很好的选择。设置ws=Sheets(“sheet_name”)@SamWard我需要能够让用户更改sheet name,我会这样做的。谢谢