ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Auto execute a macro if a cell value=1 ? (https://www.excelbanter.com/excel-programming/298438-auto-execute-macro-if-cell-value%3D1.html)

Sven[_2_]

Auto execute a macro if a cell value=1 ?
 
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

--
Message posted from http://www.ExcelForum.com


Chris

Auto execute a macro if a cell value=1 ?
 
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


--
Message posted from http://www.ExcelForum.com



Sven[_3_]

Auto execute a macro if a cell value=1 ?
 
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

--
Message posted from http://www.ExcelForum.com


Chris

Auto execute a macro if a cell value=1 ?
 
'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


--
Message posted from http://www.ExcelForum.com




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

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