函数过程,即我们通常所理解的函数概念,其定义更为严谨,已在多个平台上分享和深入探讨。具体来说,当唯一的输入值被赋予时,其产生的输出值同样具备唯一性(注:输入与输出值的数量不受限制),那么这种输入与输出之间的映射关系便被定义为输出是输入的函数。
Function函数过程特别强调了这种输入与输出之间的映射关系。返回值即为我们所指的输出,这与教程中提及的Function过程具备返回值的特点相吻合。这一点与Sub过程之间存在显著的区别。通常,我们可以利用Function过程来构建个性化的函数,类似于工作表函数中的SUM、COUNT等函数的应用。
在函数的阐释中,我们介绍了两个核心概念:易失性函数和参数的传递机制。易失性函数体现了时间的概念,如过去、现在与未来的不可得性。例如,now函数表示的是当前时刻,当你确认这一刻是现在时,现在的时刻却已流逝。你无法精确地描述现在的时刻,这就是函数的易失性。
我们探讨了如何将非易失函数转化为易失性函数,这些内容在教程中均有所涉及。
当我们学习到此处,对于VBA的基础知识点、录制宏、条件结构、循环结构、对象、事件等方面都有了初步的认识。我们需要进一步提升自己的能力,即深入理解形参和实参的概念,也就是参数的传递机制。
按地址传递(ByRef)时,实参变量的内存地址(指针)被传递给被调用过程的形参,形参与实参使用相同地址的内存单元。当在被调用过程中改变形参的值,就等同于改变了实参的值。
按值的传递则是传递参数的值,形参和实参占用不同的内存。如果参数的值发生改变,只是形参占用的内存发生了变化,而实参并没有改变。
如果是按地址传递,传递的是地址指针,形参和实参的指针指向同一位置。形参改变时,形参的内存也会改变,实参也会随之发生变化。我们可以对照教程深入理解两者的关系,同时不要局限于VBA领域,这一点在我关于”类”的讲解中体现得更加明显。在类的讲解中会贯彻另一种思维,类的教程是VBA的高级教程,我们的学习需要循序渐进。
那么,如何学习VBA呢? 概括来说就是: 学习过程中要信、解、受、持,更要有回向的业力。无论您在学习的任何阶段,都要对照教程的知识点加持自己的实际工作,总会有丰厚的收获。