VBA如何在一个模块中引用另一个模块的函数

VBA如何在一个模块中引用另一个模块的函数,第1张

1、按ALT+F11调出EXCEL中VBA界面。

2、右键插入一个模块。

3、首先新建一个子程序,如图,填写公式进去。

4、for 是可以从任意数字开始和结束的,如图,我们从第2行到第10行。点击运行后,依次计算并填写完成。

5、接下来,用同样方法写完求平均数公式。

6、同样,运行后,可以看到,不均数也填写完成了。

7、这样填写的是公式,仔细观察,会发现相当于我们自动输入了公式,而不是计算后的值。

本示例示范如何调用宏表“Mycustomxlm”(

必须先打开此宏表

〕中定义的宏函数

My_Func_Sum。此函数带两个数值型参数(此例中为

1

5)。

mySum

=

ApplicationRun("MYCUSTOMXLM!My_Func_Sum",

1,

5)

MsgBox

"Macro

result:

"

&

mySum

注意括号里面的文字:必须先打开此宏表,这意味着在使用“Mycustomxlm"中定义的宏函数My_Func_Sum之前,需要先把Mycustomxlm打开

ApplicationWorksheetFunction 然后后面就会自动显示一堆 可以调用的EXCEL内置函数!

用法和在表格里面一样,只不过单元格地址参数要编程 range("a1")、cells(2,3)、[a1:d8]

这样的,比如求 当前表A1到D3 区域的和可以用下面的格式

ApplicationWorksheetFunctionSum(range("a1:d3")) 或者

ApplicationWorksheetFunctionSum([a1:d3])

可以的。

CALL通常指REMOTE CALL,是一种注入外部EXE程序从外部调用函数的技术。CALL的使用一般需要编写复杂的汇编代码。

VB的关键词

(调用)

用于将程序的执行交给其他的代码段,通常是一个子例程,同时保存必要的信息,从而使被调用段执行完毕后返回到调用点继续执行。

描述

将控制权传递给 Sub 过程或 Function 过程。

语法

[Call] name [argumentlist]

Call 语句语法有以下部分:

部分 描述

Call 可选关键字。如果指定此关键字,则必须用括号把 argumentlist 括起来。例如:

Call MyProc(0)

name 必选。要调用的过程名。

argumentlist 可选。传递给过程的变量、数组或表达式列表,用逗号分隔每一项。

说明

在调用过程时,不必使用 Call 关键字。然而,如果使用 Call 关键字调用要求参数的过程,则必须用括号将 argumentlist 括起来。如果省略 Call 关键字,那么必须也同时省略 argumentlist 参数两边的括号。使用 Call 语法调用内部函数或使用用户自定义函数,函数返回值都会被放弃。

ApplicationWorksheetFunction 公式

注意的是公式里引用的单元格必须使用的VBA的单元格格式

比如SUM(A1:A2)

则为

ApplicationWorksheetFunctionSUM(Range("A1:A2"))

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/12462115.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存