Running a Macro from Page Layout View Causes Excel to Crash

AndrewWalker

New Member
Joined
Oct 8, 2012
Messages
4
Hi All,

I'm running a very simple Excel macro to go back to the menu screen of the file. There are several worksheets in the file, and all have a Home button (just a rectangle with assigned macro)

Sub Button_Home()
Sheets("HOME").Select
End Sub

But, strangely, if the view is set to Page Layout, when the rectangle is clicked Excel crashes.

Has anyone come across this before and have a solution?

Cheers,
Andrew
 

Excel Facts

Spell Check in Excel
Press F7 to start spell check in Excel. Be careful, by default, Excel does not check Capitalized Werds (whoops)
Hi Andrew and welcome to the Board..
Do you mean Page Break view ??
Seems a bit odd, it should work fine in any view.
Are there any other macros in the workbook.
you could of course add Normal view to the macro, but it shouldn't need that !!
Code:
Sub Button_Home()
ActiveWindow.View = xlNormalView
Sheets("HOME").Select
End Sub
 
Upvote 0
An application I've written errored due to being in the page layout view. The error was when I tried to read data via ADO from the closed file. In my application the error disappeared by adding a line like Michael has already posted. This was a couple of years ago, btw, and no problems since.

ActiveWindow.View = xlNormalView
 
Upvote 0
Hi Michael,

Thanks, and thanks for the response.

The excel mouseover calls it page layout view. I did try adding the line you proposed to the macro, but the problem remains. I don't see how the starting view makes a difference but it's fatal!

There are several macros in the file, but none of the others are on the worksheet in question. Im at a bit of a loss.

Perhaps I've created an instability in the whole file somehow?

Cheers,
Andrew



Hi Andrew and welcome to the Board..
Do you mean Page Break view ??
Seems a bit odd, it should work fine in any view.
Are there any other macros in the workbook.
you could of course add Normal view to the macro, but it shouldn't need that !!
Code:
Sub Button_Home()
ActiveWindow.View = xlNormalView
Sheets("HOME").Select
End Sub
 
Upvote 0
Try putting the buttons on the first page of the sheet if they aren't already.
 
Upvote 0
If you are using "Shapes" then you can use hyperlink as in Right Click | Hyperlink | Place in this document and select Home sheet. You wouldn't need macro then!
 
Upvote 0
Rory, you are a genius! That fixes it outright. Why in the world does that make a difference, do you know?

I think it's a bug - shouldn't make any difference at all in my opinion, but it does.
 
Upvote 0
Haha, good point taurean! I was writing a few macros for the file, so I was in the macro zone. The other simple solution was to keep the sheet in normal view. I was just intrigued by the problem!

If you are using "Shapes" then you can use hyperlink as in Right Click | Hyperlink | Place in this document and select Home sheet. You wouldn't need macro then!
 
Upvote 0
Hi Rory, that's a great pickup.....I'm guessing you found that out, the hard way........(y)
 
Upvote 0

Forum statistics

Threads
1,221,417
Messages
6,159,789
Members
451,589
Latest member
Harold14

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