View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
John.Greenan John.Greenan is offline
external usenet poster
 
Posts: 175
Default Efficiently Pausing VBA Execution.

Hi,

The best way to do this is to use the Worksheet_Change event and then to
check to see if the cell you are interested in is contained in the "Target"
range.


Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

Have a go with that and see if you can get it to work - if not post another
question and I'll help out.

Cheers,


--
www.alignment-systems.com


"Devin Linnington" wrote:

Hi, what I'm trying to do is have a macro run when you start excel (figured
out how to do this already) that waits for the user to enter a number into a
paticular cell in excel, then calls a function. I had an idea on how to make
it 'wait' for the value to not be null, but I fear that it won't be very
efficient as it is continuously looping until the value changes (see code
below). I have searched around and found this article, but it doesn't really
explain how you do it without the toolbar:
http://support.microsoft.com/kb/q131847/
What I would really like is a procedure that 'polls' that cell
every-so-often to see if it has changed, or does the code below every 1
second or so instead of as fast as it can possibly go (I don't think that
would be too efficient).

Private Sub test()
Dim chkA
chkA = Worksheets("Visc Table").Range("b26").Value
Do While chkA = "" 'do the below while chkA is null
chkA = Worksheets("Visc Table").Range("b26").Value
Loop
Call KODEA(chkA)
End Sub

This would work, but I'm thinking there is a better way to do it than this.
Thanks ahead of time for all the help.

- Devin L.