如何运行存储在另一个工作表模块中的sub
?
worksheet1
sub endDay()
'something here
end sub
worksheet2
sub reCalc()
'something here
end sub
我希望recalc
能够独立运行但是
我希望能够按下“endDay”按钮,让它做它的事情,然后在结束时预先形成“recalc”而不是按一个然后再转到sheet2按下另一个。
有人可以给我一个样本,这样我就可以知道从哪里开始了吗?
答案 0 :(得分:10)
查看工作表的代码名称 - 您可以在Visual Basic编辑器的树视图中看到它们。通常它们被命名为Sheet1
,Sheet2
等(独立于实际工作表名称,括号中显示)。在您的代码中使用此名称而不是Worksheets("Sheet1")
,您还将获得一个自动填充列表 - 与您的子代码一起使用!
因此,这将完成工作:
Sheet1.reCalc
答案 1 :(得分:6)
sheets("worksheet2").reCalc
可能就是你的目标
答案 2 :(得分:1)
public interface InterfaceName {
void function1();
void function2();
}
public abstract class BaseInterfaceName implements InterfaceName {
public void function1() {
}
public void function2() {
}
}
public class MyClass {
public void myMethod() {
myMethodWithInterface(new BaseInterfaceName() {
@Override
public void function2() {
System.out.println("function2");
}
})
}
public void myMethodWithInterface(InterfaceName intf) {
intf.function1();
intf.function2();
}
}
也可以正常工作。可能没有必要使用'Module1'。尽管如此。
答案 3 :(得分:1)
我知道它是2年后,但今天我一直在寻找同样的事情。至于工作表中的子元素可能是私有的,这是一个很好的解决方案:
Sub maina()
Run "tbl_Input.btn_main_Click"
End Sub
tbl_Input是工作表的VBA名称,而不是标题。