Auto execute a macro if a cell value=1 ?

S

Sven

Hi,
How does the VBA code looks like for the following?

Task:
Execute a macro called “MacroX” if cell B3=1

In other words: I would like to automatically run a macro calle
“MacroX” only if the cell B3 equals 1.00

Additional question:
Is it possible to set so that the macro run every 60 seconds if cell B
equals 1

Many thanks
Sve
 
G

Guest

use the worksheet change event

Private Sub Worksheet_Change(ByVal Target As Range
Set i = Application.Intersect(Target, Range("B3")
If Not i Is Nothing and Target.value = 1 then Macro
End sub

Why in the world would anyone want a Macro to run every 60 s.
I suggest you find another solution. Macros dont make good background processes

But i think u would need to do a recursive OnTime Method (look in VB help

----- Sven > wrote: ----

Hi,
How does the VBA code looks like for the following

Task
Execute a macro called “MacroX†if cell B3=

In other words: I would like to automatically run a macro calle
“MacroX†only if the cell B3 equals 1.00

Additional question
Is it possible to set so that the macro run every 60 seconds if cell B
equals

Many thank
Sve
 
S

Sven

Thanks ~×

A agree that it may not be the most efficient way to do it but ho
would you incorporate this into the answer you gave?

For example that the macro is executed over and over again with a
interval every 60 seconds until cell B3 is not equal to 1

Thanks,
Sve
 
G

Guest

'>>inside MacroX put this in as the first statemen
If Sheets("YourSheet").Range("b3") <> 1 Then Exit Su

'>>put this in as the last statement,
Application.OnTime Now + TimeValue("00:01:00"), "MacroX

'>>this will cause a recursive execution of the macro as long as Range("B3")=
'>>I did it this way because i don't know how long your Macro will run for
'>>else do it like this: as first statemen

If Sheets("YourSheet").Range("b3") = 1 The
Application.OnTime Now + TimeValue("00:01:00"), "MacroX
End If

'>>I make no promises with the OnTime Method, so good luck
----- Sven > wrote: ----

Thanks ~Ã

A agree that it may not be the most efficient way to do it but ho
would you incorporate this into the answer you gave

For example that the macro is executed over and over again with a
interval every 60 seconds until cell B3 is not equal to

Thanks
Sve
 

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

Top