Excel VBA 每日一场景 多个模块如何调用以及参数在模块中的传递

Excel VBA 每日一场景 多个模块如何调用以及参数在模块中的传递
2021年04月30日 11:00 晓雯子16

最近有小伙伴反馈,在写代码的时候,为了代码维护的方便呢

将不同功能的代码,写在不同的模块中,方便自己或许的修改,但是写完之后,发现一个问题

不知道要如何让代码执行,比方说执行了第一个模块之后,如何让它去执行第二个模块,或者是指定的模块呢?

其实这是一个非常简单的问题,我们来看看

这是我们今天假设的这个场景,从这个场景中我们可以看到当前我们准备了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中,模块的调用以及参数在多个模块中的传递

这种场景比较常用在数据的计算,就像是大家所说的不同的模块执行不同的运算那样

也是一个非常不错的场景。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部