最近有小伙伴反馈,在写代码的时候,为了代码维护的方便呢
将不同功能的代码,写在不同的模块中,方便自己或许的修改,但是写完之后,发现一个问题
不知道要如何让代码执行,比方说执行了第一个模块之后,如何让它去执行第二个模块,或者是指定的模块呢?
其实这是一个非常简单的问题,我们来看看
这是我们今天假设的这个场景,从这个场景中我们可以看到当前我们准备了2个模块,三段代码
模块2中也有一段代码,所以总共是3段代码
按照小伙伴的要求,他为了维护的方便呢,将不同功能的代码写在不同的的模块中,现在他需要的是一个启动开关
如何去启动其他的模块,我为什么说很简单呢?
因为只需要一个单词,CALL即可以实现。
从上面的代码截图中我们可以看到,每个代码块的最后面都有一个call
他指向的就是不同模块的不同代码
这是一个非常简单的操作,如果你的逻辑思维还比较清晰的话,可以继续往下看
VBA中还可以调用含有参数的模块,让参数在几个模块中进行不同的运算
比方说这样的
x,y分别是两个不同的参数,他们之间还可以进行带入运算,不同的模块执行不同的运算,最终得到的x,y则是不同的
来调试看下
初始,x,y的值是固定的
然后执行到这个Call test(x, y)
程序就来到了第二个模块,去继续新的运算,在运算中,我们留意x,y的值
这里,x,y不仅仅返回了值,而且还按照我们的要求进行了计算,1+1=2,2+1=3
然后继续,看看这个参数的值,是否能够跨模块传递
看到结果,参数是能够在不同的模块中进行传递的,并且传递之后并没有任何的问题,也是成功的执行了我们的运算。
这就是VBA中,模块的调用以及参数在多个模块中的传递
这种场景比较常用在数据的计算,就像是大家所说的不同的模块执行不同的运算那样
也是一个非常不错的场景。
4000520066 欢迎批评指正
Copyright © 1996-2019 SINA Corporation
All Rights Reserved 新浪公司 版权所有
All Rights Reserved 新浪公司 版权所有