ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Check if Userform exsists before deleting via VB (https://www.excelbanter.com/excel-programming/277484-check-if-userform-exsists-before-deleting-via-vbulletin.html)

Rich[_15_]

Check if Userform exsists before deleting via VB
 
I have a block of code that deletes a form after I close it

ThisWorkbook.VBProject.VBComponents.Remove _
ThisWorkbook.VBProject.VBComponents("FormNameHere" )

I run this code before some code that rebuilds the form with new data.
The problem happens when the user aborts the macro in between the
form being delted and being recreated. If that happens the next time
I run the macro there is no form to delete and it fails.

How can I wrap this code so that it checks to see if this form exsists
first?
Rich

Doug Glancy[_3_]

Check if Userform exsists before deleting via VB
 
Rich,

I wasn't familiar with the syntax below before reading your message but this
seems to work. If it doesn't exist it doesn't cause an error:

On Error Resume Next
ThisWorkbook.VBProject.VBComponents.Remove _
ThisWorkbook.VBProject.VBComponents("UserForm1")
On Error GoTo 0

Alternately, the following tests for the existence of the form:

Sub test()

Dim uform As Object

On Error Resume Next
Set uform = ThisWorkbook.VBProject.VBComponents("UserForm1")
If Error < "" Then
MsgBox "no such form"
Else
MsgBox "form exists"
End If
On Error GoTo 0

End Sub

Tested in XP XL2000

hth,

Doug

"Rich" wrote in message
om...
I have a block of code that deletes a form after I close it

ThisWorkbook.VBProject.VBComponents.Remove _
ThisWorkbook.VBProject.VBComponents("FormNameHere" )

I run this code before some code that rebuilds the form with new data.
The problem happens when the user aborts the macro in between the
form being delted and being recreated. If that happens the next time
I run the macro there is no form to delete and it fails.

How can I wrap this code so that it checks to see if this form exsists
first?
Rich





All times are GMT +1. The time now is 03:19 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com