获取工作簿名称公共职能

我有下面的代码,当我第一次打开工作簿时,试图捕获工作簿名称。

Public curWorkbook As Workbook Function GetName() Set curWorkbook = ActiveWorkbook End Function 

我需要添加: curWorkbook.activate用于添加数据的用户表单button,以确保将数据添加到正确的工作簿,以防用户同时打开多个文件。

当我运行这个代码时,我得到RT 91:“对象variables或块variables未设置”错误。 不知道为什么?

另外,如果有人能build议是否最好在“ThisWorkbook”模块中或在“UserForm1”模块中使用此代码,我将不胜感激。

如果要引用表单打开时处于活动状态的工作簿,则可以使用

Public curWorkbook As Workbook

在表单模块的顶部,并在表单的Activate事件中将值设置为ActiveWorkbook。

一旦你有一个curWorkbook的参考,你可以直接参考该工作簿 – 你不需要通过名称。 例如:

curWorkbook.Sheets(1)

是相同的

Workbooks(curWorkbook.Name).Sheets(1)