我的个人工作簿中有以下功能:
Public Function Get_Rows_Generic_personal(sheet_name As String) As Long
Get_Rows_Generic = Worksheets(sheet_name).UsedRange.Rows.Count
End Function
如何从另一个项目的模块中调用它?
This thread应该有答案,但链接已经死了。
答案 0 :(得分:2)
你真的有两个选择:
Application.Run
;或要使用Application.Run
,您将工作簿和例程名称作为第一个参数传递,然后将该例程所需的任何参数作为Run
的附加参数传递。如果例程名称与其父模块相同,或者工作簿中具有多个具有相同名称的例程,则还需要提供模块名称,如果工作簿名称包含空格,则需要将其括起来单引号。所以基本语法是:
Application.Run "'workbook name.xlsm'!routine_name", parameter1
或:
Application.Run "'workbook name.xlsm'!module_name.routine_name", parameter1
例如:
dim lCounter as long
lCounter = Application.Run("'Personal.xlsb'!Get_Rows_Generic_personal", "some sheet")