Nasty intermittent

  • Thread starter Thread starter kirkm
  • Start date Start date
K

kirkm

VB code:

Dim frm As UserForm
For Each frm In UserForms
If frm Is frmLabel Then
If frmLabel.Visible Then Unload frmLabel
End If
Next


This works just fine 99% of the time. But ocassionally errror

frmlabel = <Object variable or With block variable not set>

appears and the line highlighted is

If frm Is frmLabel Then

It's Ok on the next run though.

Anyone know what this might be?

Thanks - Kirk
 
VBA has tiny stack for nested operators
try to complete condition with END IF to avoid recurcive stack
allocation.
 
this line -
If frm Is frmLabel Then
will Load frmLabel if it was not already loaded

If(?) the objective is to unload frmLabel if loaded (but not accidentally
load it merely by testing for it)

For I = UserForms.Count To 1 Step -1
If UserForms(i - 1).Name = "frmLabel" Then
Unload UserForms (i - 1)
' or
' Unload frmLabel
Exit For ' not necessary but might as well
End If
Next

Regards,
Peter T
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top