在单独的工作表上,宏观“不起作用”来自通话

问题描述 投票:0回答:1

此宏按预期方式工作,通过“批输入”页面上的按钮:

Sub BatchTriggerOFF()

    Sheets("Batch Input").Unprotect
    Sheets("Batch Input").Range("G3:J3").Value = "Off"
    Sheets("SQL LOGIC").Calculate
    Sheets("Batch Input").Range("A12").Select
    Sheets("Batch Input").Shapes.Range(Array("Group 12")).ZOrder msoSendToBack
    Sheets("Batch Input").Protect

End Sub

但是,当从同一工作簿中的不同工作表调用BatchTriggerOFF时,宏既不会更改Range(“ G3:J3”)。Value也不会更改Shapes.Range(Array(“ Group 12”))。ZOrder msoSendToBack。没有错误消息。

If Sheets("SQL LOGIC").Range("B1") = "On" Then Call BatchTriggerOFF

我已经尝试过取消保护批处理输入表,弄乱了Sheets(“批处理输入”).Activate,Sheets(“批处理输入”).Select,甚至尝试将VBA的BatchTriggerOFF行直接粘贴到第二个宏中,无济于事。

是什么原因导致从第二个宏/工作表调用BatchTriggerOFF似乎无法运行?

excel vba
1个回答
0
投票

如果需要从任何(工作表)模块中调用您的子模块,请将其移动到模块中!工作表模块中的功能/子是私有的,即使您未以这种方式定义它们也是如此...

© www.soinside.com 2019 - 2024. All rights reserved.