Function NewForm(name As String) As Object
Dim myForm As Object
'Application.VBE.MainWindow.Visible = False
Set myForm = ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm)
myForm.Properties("Caption") = name
myForm.Properties("Width") = 300
myForm.Properties("height") = 270
VBA.UserForms.Add(myForm.name).Show
Set CreateForm = myForm
End Function
Sub DelForm(name As Object)
ThisWorkbook.VBProject.VBComponents.Remove name
End Sub
Sub Start()
Dim my As UserForm
Set my = NewForm("MyFormCaption")
'Call DelForm(my)
ThisWorkbook.VBProject.VBComponents.Remove my
End Sub
ошибок нет, но форма не удаляется. Заранее спасибо.
смею предположить, что (для вашего кода) дело в настройках самого xl - см.: файл - параметры - центр управления безопасностью - параметры центра управления безопасностью - параметры макросов - доверять доступ к vba.модели - включено должно быть (поскольку чтобы делать кодом - ThisWorkbook.VBProject.VBComponents.Add и VBProject.VBComponents.Remove - xl'ю надо иметь этот доступ)... мне подсказывает интуиция
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)