ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Workbook sheet code delay (https://www.excelbanter.com/excel-discussion-misc-queries/145674-workbook-sheet-code-delay.html)

Colin Hayes

Workbook sheet code delay
 

Hi

I'm using this code (placed as a ThisWorkbook module) to restrict the
scroll area in the five worksheets in my workbook :


Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim mysheets As Sheets
Set mysheets = Worksheets(Array(1, 2, 3, 4, 5))
For Each Sheet In mysheets
Sheet.ScrollArea = "A1:O58"
Next
End Sub


Unfortunately , I find it doesn't work immediately the workbook is
opened :

If go to use the first worksheet , it allows scrolling in all directions
without limit. This isn't the idea.....!

If I click onto the second sheet , the restrictions from the code apply.


If I then go back to the first sheet , the restrictions are now in
force.

Is there any way I can get this to work properly and be in force from
when the workbook opens?


Grateful for any help.



Best Wishes


Colin

Toppers

Workbook sheet code delay
 
try this in Thisworkbook:


Private Sub Workbook_Open()
Dim mysheets As Sheets
Set mysheets = Worksheets(Array(1, 2, 3,4,5))
For Each Sheet In mysheets
Sheet.ScrollArea = "A1:O58"
Next
End Sub


"Colin Hayes" wrote in message
...

Hi

I'm using this code (placed as a ThisWorkbook module) to restrict the
scroll area in the five worksheets in my workbook :


Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim mysheets As Sheets
Set mysheets = Worksheets(Array(1, 2, 3, 4, 5))
For Each Sheet In mysheets
Sheet.ScrollArea = "A1:O58"
Next
End Sub


Unfortunately , I find it doesn't work immediately the workbook is opened
:

If go to use the first worksheet , it allows scrolling in all directions
without limit. This isn't the idea.....!

If I click onto the second sheet , the restrictions from the code apply.


If I then go back to the first sheet , the restrictions are now in force.

Is there any way I can get this to work properly and be in force from when
the workbook opens?


Grateful for any help.



Best Wishes


Colin




Dave Peterson

Workbook sheet code delay
 
Try keeping that code in the same module (ThisWorkbook).

But rename it to:
Sub Workbook_Open()

Colin Hayes wrote:

Hi

I'm using this code (placed as a ThisWorkbook module) to restrict the
scroll area in the five worksheets in my workbook :

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim mysheets As Sheets
Set mysheets = Worksheets(Array(1, 2, 3, 4, 5))
For Each Sheet In mysheets
Sheet.ScrollArea = "A1:O58"
Next
End Sub

Unfortunately , I find it doesn't work immediately the workbook is
opened :

If go to use the first worksheet , it allows scrolling in all directions
without limit. This isn't the idea.....!

If I click onto the second sheet , the restrictions from the code apply.

If I then go back to the first sheet , the restrictions are now in
force.

Is there any way I can get this to work properly and be in force from
when the workbook opens?

Grateful for any help.

Best Wishes

Colin


--

Dave Peterson

Colin Hayes

Workbook sheet code delay
 

Hi

OK that's fixed it - thanks!

Much appreciated.



Best Wishes


Colin




In article , toppers
writes
try this in Thisworkbook:


Private Sub Workbook_Open()
Dim mysheets As Sheets
Set mysheets = Worksheets(Array(1, 2, 3,4,5))
For Each Sheet In mysheets
Sheet.ScrollArea = "A1:O58"
Next
End Sub


"Colin Hayes" wrote in message
...

Hi

I'm using this code (placed as a ThisWorkbook module) to restrict the
scroll area in the five worksheets in my workbook :


Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim mysheets As Sheets
Set mysheets = Worksheets(Array(1, 2, 3, 4, 5))
For Each Sheet In mysheets
Sheet.ScrollArea = "A1:O58"
Next
End Sub


Unfortunately , I find it doesn't work immediately the workbook is opened
:

If go to use the first worksheet , it allows scrolling in all directions
without limit. This isn't the idea.....!

If I click onto the second sheet , the restrictions from the code apply.


If I then go back to the first sheet , the restrictions are now in force.

Is there any way I can get this to work properly and be in force from when
the workbook opens?


Grateful for any help.



Best Wishes


Colin





Colin Hayes

Workbook sheet code delay
 
In article , toppers
writes
try this in Thisworkbook:


Private Sub Workbook_Open()
Dim mysheets As Sheets
Set mysheets = Worksheets(Array(1, 2, 3,4,5))
For Each Sheet In mysheets
Sheet.ScrollArea = "A1:O58"
Next
End Sub



Hi

Just as an extra comment on this :

One thing I've noticed with this code is that , once in place , it
inhibits the choice of rows and columns entirely. You just can't select
them.

Is there anyway of avoiding this when scrolling restriction is in place?

Thanks again





"Colin Hayes" wrote in message
...

Hi

I'm using this code (placed as a ThisWorkbook module) to restrict the
scroll area in the five worksheets in my workbook :


Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim mysheets As Sheets
Set mysheets = Worksheets(Array(1, 2, 3, 4, 5))
For Each Sheet In mysheets
Sheet.ScrollArea = "A1:O58"
Next
End Sub


Unfortunately , I find it doesn't work immediately the workbook is opened
:

If go to use the first worksheet , it allows scrolling in all directions
without limit. This isn't the idea.....!

If I click onto the second sheet , the restrictions from the code apply.


If I then go back to the first sheet , the restrictions are now in force.

Is there any way I can get this to work properly and be in force from when
the workbook opens?


Grateful for any help.



Best Wishes


Colin



All times are GMT +1. The time now is 03:41 PM.

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