繁体   English   中英

VBA 有一个子运行另一个子

[英]VBA have a sub run another sub

如何运行存储在另一个工作表模块中的sub

工作表1

sub endDay()
    'something here
end sub

工作表2

sub reCalc()
    'something here
end sub

我希望recalc能够自己运行,但我希望能够按下“endDay”的按钮,让它做它的事情,然后在最后预制“recalc”而不是按下一个然后转到 sheet2按另一个。

有人可以给我一个样本,这样我就可以知道从哪里开始吗?

查看工作表的代码名称 - 您可以在 Visual Basic 编辑器的树视图中看到它们。 通常它们被命名为Sheet1Sheet2等(独立于实际工作表名称,显示在括号中)。 在您的代码中使用此名称) 而不是Worksheets("Sheet1") ,您还将获得一个自动完成列表 - 与您的子!

因此,这将完成这项工作:

Sheet1.reCalc
sheets("worksheet2").reCalc

可能是你所追求的

我知道是 2 年后,但今天我正在寻找同样的东西。 至于工作表中的 subs 可能是私有的,这是一个很好的解决方案:

Sub Maina()
    Run "tbl_Input.btn_main_Click"
End Sub

tbl_Input是工作表的 VBA 名称,而不是标题。

如果 Sub 位于 Module1 中,则Call Module1.reCalc应该也能正常工作。 可能没有必要拥有“模块 1”。 尽管如此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM