VBA有一个子运行另一个子
如何运行存储在另一个工作表模块中的子?
worksheet1
sub endDay() 'something here end sub
worksheet2
sub reCalc() 'something here end sub
我想recalc
能够自己运行,但我想能够按下“endDay”button,让它做它的事情,然后预先形成“recalc”在结束而不是按下,然后去sheet2按另一个。
有人可以给我一个样本,所以我可以有一个想法从哪里开始?
查看工作表的代码名称 – 您可以在Visual Basic编辑器的树视图中看到它们。 通常它们被命名为Sheet1
, Sheet2
等(独立于实际的工作表名称,括号中显示)。 在你的代码中使用这个名字)而不是Worksheets("Sheet1")
,你也会得到一个自动完成列表 – 你的子!
因此,这将完成这项工作:
Sheet1.reCalc
sheets("worksheet2").reCalc
可能是你以后的事情
如果Sub在Module1中,则Call Module1.reCalc
应该可以正常工作。 可能没有“Module1”。 尽pipe如此。
我知道这是2年后,但今天我正在寻找同样的事情。 至于在工作表中的潜艇可能是私人的,这是一个很好的解决scheme:
Sub maina() Run "tbl_Input.btn_main_Click" End Sub
tbl_Input是工作表的VBA名称,而不是标题。