声明公共variables和传递本地variables的子程序之间的VBA区别

问题是我已经把所有variables声明为public,同时我将这些variables传递给子例程。 哪个解决scheme更好,有什么不同? BRMichał

区别:

  • 可以从已声明的工作簿中的每个模块或例程访问公用variables,甚至可以使其他工作簿
  • 局部variables只能被声明的模块访问

尽量避免使用公共variables。 他们可能看起来像简单的出路,但可能导致代码越来越长的问题,消耗不必要的内存空间,使代码结构相当混乱。

将值传递给子函数或例程通常是更优雅的方式和良好的编码习惯。