Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 134
Default Stop running macro button, like Ctrl-Break button

Instead of using Pause, you may want to use Application.OnTime command.
This will mean you will need to setup multiple Subs (One for each
worksheet). See example below that replaces your code:

Dim m_strNextProcedureToRun As String, m_dteNextTimeToRunNextProcedure As
Date

Sub pcdSlideShow()
Worksheets(Array(1, 2, 3, 4, 5, 6, 7, 8)).Select
ActiveWindow.DisplayWorkbookTabs = False
ActiveWindow.DisplayHeadings = False 'Remove Row & Column headings
Application.DisplayFormulaBar = False
m_strNextProcedureToRun = "pcdShowSheet1"
m_dteNextTimeToRunNextProcedure = Now + VBA.TimeValue("00:00:01")
pcdRunNextProcess
End Sub
Sub pcdShowSheet1()
If Worksheets("TOTAL").Range("C42").Value2 < 39 Then
Refresh
Sheets("Sheet1").Select
Range("A1").Select
m_strNextProcedureToRun = "pcdShowSheet2"
m_dteNextTimeToRunNextProcedure = Now + VBA.TimeValue("00:00:05")
pcdRunNextProcess
End If
End Sub
Sub pcdShowSheet2()
Refresh
Sheets("Sheet2").Select
Range("A1").Select
m_strNextProcedureToRun = "pcdShowSheet3"
m_dteNextTimeToRunNextProcedure = Now + VBA.TimeValue("00:00:05")
pcdRunNextProcess
End Sub
Sub pcdShowSheet3()
Refresh
Sheets("Sheet3").Select
Range("A1").Select
m_strNextProcedureToRun = "pcdShowSheet4"
m_dteNextTimeToRunNextProcedure = Now + VBA.TimeValue("00:00:05")
pcdRunNextProcess
End Sub
Sub pcdShowSheet4()
Refresh
Sheets("Sheet4").Select
Range("A1").Select
m_strNextProcedureToRun = "pcdShowSheet5"
m_dteNextTimeToRunNextProcedure = Now + VBA.TimeValue("00:00:05")
pcdRunNextProcess
End Sub
Sub pcdShowSheet5()
Refresh
Sheets("Sheet5").Select
Range("A1").Select
m_strNextProcedureToRun = "pcdShowSheet6"
m_dteNextTimeToRunNextProcedure = Now + VBA.TimeValue("00:00:05")
pcdRunNextProcess
End Sub
Sub pcdShowSheet6()
Refresh
Sheets("Sheet6").Select
Range("A1").Select
m_strNextProcedureToRun = "pcdShowSheet7"
m_dteNextTimeToRunNextProcedure = Now + VBA.TimeValue("00:00:05")
pcdRunNextProcess
End Sub
Sub pcdShowSheet7()
Refresh
Sheets("Sheet7").Select
Range("A1").Select
m_strNextProcedureToRun = "pcdShowSheet8"
m_dteNextTimeToRunNextProcedure = Now + VBA.TimeValue("00:00:05")
pcdRunNextProcess
End Sub
Sub pcdShowSheet8()
Refresh
Sheets("Sheet8").Select
Range("A1").Select
m_strNextProcedureToRun = "pcdShowSheet1"
m_dteNextTimeToRunNextProcedure = Now + VBA.TimeValue("00:00:05")
pcdRunNextProcess
End Sub
Sub pcdRunNextProcess(Optional ByVal l_bolSchedule = True)
Application.OnTime m_dteNextTimeToRunNextProcedure,
m_strNextProcedureToRun As String, _
m_dteNextTimeToRunNextProcedure + VBA.TimeValue("00:00:05"),
l_bolSchedule
End Sub
Sub pcdCancelNextProcedure()
pcdRunNextProcess False
End Sub

--
Thanks,

Ronald R. Dodge, Jr.
Production Statistician
Master MOUS 2000
"h2fcell" wrote in message
...
Hello,
I have a button on the "Quick Access Toolbar" of an Excel 2007 workbook
that
starts a slide show and loops through 8 sheets continuously until a linked
cell equals 39. I would like to add another button to the "Quick Access
Toolbar" that stops the running slide show like Ctrl-Break does without
the
Visual Basic window popping up with the message "Code execution has been
interrupted".

Any suggestions?

Below is my code.

Sub SlideShow()

Worksheets(Array(1, 2, 3, 4, 5, 6, 7, 8)).Select
ActiveWindow.DisplayWorkbookTabs = False
ActiveWindow.DisplayHeadings = False 'Remove Row & Column headings
Application.DisplayFormulaBar = False
Do While Worksheets("TOTAL").Range("C42").Value < 39
Refresh
Sheets("Sheet1").Select
Range("A1").Select
Pause
Refresh
Sheets("Sheet2").Select
Range("A1").Select
Pause
Refresh
Sheets("Sheet3").Select
Range("A1").Select
Pause
Refresh
Sheets("Sheet4").Select
Range("A1").Select
Pause
Refresh
Sheets("Sheet5").Select
Range("A1").Select
Pause
Refresh
Sheets("Sheet6").Select
Range("A1").Select
Pause
Refresh
Sheets("Sheet7").Select
Range("A1").Select
Pause
Refresh
Sheets("TOTAL").Select
Range("A1").Select
Pause
Loop

End Sub



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Stop running macro button, like Ctrl-Break button Dave Peterson Excel Programming 1 January 22nd 09 05:23 PM
Button on Userform to Stop a Macro Steph Excel Programming 2 October 4th 08 03:29 AM
How to stop macro with cancel button Alex St-Pierre Excel Programming 8 March 13th 08 01:53 PM
Start/Stop Macro Button Paul987 Excel Discussion (Misc queries) 1 July 10th 06 05:14 PM
Macro Record Stop Button Patrick Simonds Excel Discussion (Misc queries) 2 July 31st 05 06:11 PM


All times are GMT +1. The time now is 09:10 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"