Greying out the OK button

  • Thread starter Thread starter Jeff M
  • Start date Start date
J

Jeff M

I have a form that my users fill out. I want the OK button greyed out
until they fill out the form perfectly. At this point, I have
simplified it down to the following:

Private Sub UserForm_Activate()
btnOK.Enabled = False
End Sub

Private Sub txtEnd_AfterUpdate()
If Not IsNull(txtStart) And Not IsNull(txtEnd) Then
btnOK.Enabled = True
End If
End Sub

The problem is the OK button disables fine, but it never enables. When
I step through the code, it enables. Its like the code doesn't have
enough time to "darken in" the OK button, so it skips it unless the
slow human is doing the processing.

What I am doing wrong?
 
I tested out your code as written and it worked fine for me. Excel 2000 on
Win 2000.
 
Hmmmm. I have Excel 2000 on W2K as well. I just checked and I have
Office 2000 original issue (never been patched). I think I'll patch it
and try again.
 
I can't explain your problem, but your next problem will be with using
ISNULL.


? isnull("AA")
False
? isnull("")
False

It will always return false unless you have a true NULL (not empty string)
in the cell.
 
Instead of disabling the OK button until the form is filled in
correctly, use it to validate the contents of the form.

--
Regards,

Tushar Mehta
www.tushar-mehta.com
Excel, PowerPoint, and VBA add-ins, tutorials
Custom MS Office productivity solutions
 
Yes, that's what I'm going to have to do. I'll mess around with
colored fonts, etc. Oh well.
 

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