VBA如何从一个模块在另一个工作簿上运行函数

VBA如何从一个模块在另一个工作簿上运行函数,vba,Vba,目前,我有两个文件。Test1.xlsm,Test2.xlsm 我目前在Test1.xlsm模块中编写了一个名为Findrow的函数 Findrow当前接受两个参数(字符串、工作表) 在Test1的模块1中,我想在test2中使用findRow,并将行的值返回给Test1的模块。在调用findRow时,可以从test2.xlsm传入工作表: Findrow("SearchString", Application.Workbooks("Test2.xlsm").Worksheets("SheetN

目前,我有两个文件。Test1.xlsm,Test2.xlsm

我目前在Test1.xlsm模块中编写了一个名为Findrow的函数

Findrow当前接受两个参数(字符串、工作表)


在Test1的模块1中,我想在test2中使用findRow,并将行的值返回给Test1的模块。

在调用findRow时,可以从test2.xlsm传入工作表:

Findrow("SearchString", Application.Workbooks("Test2.xlsm").Worksheets("SheetName")

这取决于两个工作簿是否打开。

是什么阻止您将模块复制到另一个工作簿中?办公室中的每个人都已经有了该文件的副本,因此要添加该模块,我必须发送新一轮该文件,其中包含模块,以使其正常工作。我更愿意让它在我的文件中工作。至少,您需要在Test2.xlsm中设置一个对Test1.xlsm的引用,但这将需要编辑Test2.xlsm。Test1中的函数是您将在Test2中使用单元格公式的UDF吗?不。我编写的自定义函数包含两个参数:字符串和工作表。它转到Test2并激活工作表,并返回字符串出现在该工作表A列中的行。