Hourglass or something else to indicate macro is running on Excel 2011 for Mac

jett254

New Member
Joined
Feb 18, 2015
Messages
24
I have a macro triggered by a button on a tool that needs to work on Excel 2011 for a Mac. The macro takes ~20 seconds to run and I can't get an hourglass or status bar code to work on a Mac. I had tried putting a message box pop-up to say that the Macro was running but I disabled it because I discovered that the macro did not start running until the user clicked ok so that was delaying things. Any other suggestions? Can I get an hourglass cursor somehow on a Mac or something else to show it is running without delaying the macro from actually running??

Thanks!!!
 

Excel Facts

When they said...
When they said you are going to "Excel at life", they meant you "will be doing Excel your whole life".
I don't know what exactly you tried which did not work, and I don't own a Mac so I can't test this for you, but the following works on my PC...

At beginning of macro: Application.Cursor = xlWait

At end of macro: Application.Cursor = xlDefault
 
Upvote 0
Yes, that is what I tried that works fine on my PC and does not do anything in Excel 2011 for Mac. Frustrating!!! Any work arounds?

I don't know what exactly you tried which did not work, and I don't own a Mac so I can't test this for you, but the following works on my PC...

At beginning of macro: Application.Cursor = xlWait

At end of macro: Application.Cursor = xlDefault
 
Upvote 0
I also wanted to add that the screen updating seems to behave differently vs. a PC so I even tried creating a new worksheet that had "Please wait for results to generate" and having the macro first switch to show that sheet before turning screen updating off so it would act as a status (and I explicitly put screen updating=true before it). Works fine on my PC, does not work on the Mac (it never switches to the sheet, so it is like screen updating is off but the screen still flickers too). Ugh, this is so annoying!
 
Upvote 0
Can I pop up a dialog box for a set period of time (e.g. 5 seconds) and then have the macro select "ok" for the user?
 
Upvote 0
Can I pop up a dialog box for a set period of time (e.g. 5 seconds) and then have the macro select "ok" for the user?

You can on a PC, but I doubt it will work on a Mac (again, I have no way to test it). Just in case, though, this code line would do it on a PC...

CreateObject("WScript.Shell").PopUp "Your Message", 5
 
Upvote 0
I'll try it and cross my fingers since NOTHING else has worked. I'm ready for a new non-Mac project! Thanks Rick - I appreciate it! I'll report back....
 
Upvote 0
The way I do it is to put a picture of an hourglass on a worksheet (which is hidden), then turn off the gridlines.

In my code, I unhide and then select the hourglass worksheet. Then I turn screen updating off. Status bar messages will update while this worksheet is being displayed while my macro runs. When the macro is done, I select the appropriate worksheet and then hide the hourglass worksheet.
 
Upvote 0

Forum statistics

Threads
1,215,429
Messages
6,124,835
Members
449,192
Latest member
mcgeeaudrey

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top