需要VBA重新编译
我有一个接口IReadable
我声明:
Public Function getFields() As Dictionary End Function Public Function getData() End Function
接口的实例属性设置为publicNotCreatable
我有一个Excel工作表,实现这个接口和这些方法(细节不重要)。
从模块mApp,我从子例程应用下面的代码:
Dim oSheet As IReadable Set oSheet = ThisWorkbook.Sheets("tbl_deals") 'Compile error
当VBA通过菜单Debug – Compile VBAProject进行编译时,一切运行良好。 奇怪的是,代码只能运行一次。
如果我再次尝试运行代码, Type Mismatch
出现“ Type Mismatch
错误。
为了使代码再次运行,我需要将接口的状态切换为私有和后退,重新编译,代码再次运行一次(第二次,代码再次返回types不匹配错误)。
有关如何解决这个问题的任何想法,使代码运行稳定,无需每次重新编译?
编辑:这是一个奇怪的问题。 我认为这可能与已编译代码的污染有关,但是当在新的Excel工作簿中重新创build案例时,相同的问题仍然存在。
使用工作表的代码名称而不是显示名称: