楼主 ryueifu |
在名为Data.xla的加载宏文件的普通模块中,写入如下的自定义函数HasValidation Public Function HasValidation(rg As Range) As Boolean On Error GoTo Line1 If rg.Validation.Type >= 0 Then HasValidation = True: Exit Function Line1: HasValidation = False End Function ,关闭这个加载宏文件后.从excel的加载项中,重新加载它. 这种UDF函数呢,可以用于打开的任意个工作表中, 比如,新建一个工作簿,在单元格输入公式 =HasValidation(A5) 可以判断A5是不是设置了有效性. 也就是说,xla的自定义函数,在工作表环境下是畅通无阻的,可以跨工作簿使用. 那这个函数,能不能用于编程环境里呢? 下面新建一个工作簿book1 在book1的普通模块中,写入 Sub U**la() Application.VBE.ActiveVBProject.References.AddFromFile Application.AddIns("Data").FullName MsgBox [Data].HasValidation(ActiveCell) End Sub 然后执行这个过程, 我们发现呢,VBA代码,认识这个[Data].HasValidation,可以返回Tue或False. 好.以上,就是在其他VBproject中,使用xla文件中sub或function的方法. |
2楼 开心二点 |
好东西,学习ing |