ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   ScrollBar Linking/Synching. (https://www.excelbanter.com/excel-programming/377739-scrollbar-linking-synching.html)

Rawce

ScrollBar Linking/Synching.
 
All,

I'm currently having trouble trying to link two scrollbars that are
part of different frames on the same multitab of a form. Basically,
when one scrolls up/down, I want the other one to scroll up/down
accordingly (and for this to be invisible to the user).

My main problem is probably not being able to access any of the
properties of the scrollbars themselves. I've tried capturing the
ScrollBar1_Change event, but nothing happens. I've tried the following
code to at least loop through them all so I have some names to work
off, but it doesn't like the For Each line (object doesn't support this
property or method error):

Sub ScrollFinder()

Dim myScroll As ScrollBar
For Each myScroll In WeightForm
MsgBox myScroll.Name
Next

End Sub

How do I access the scrollbars that are part of a frame? I've tried
working through the objects (e.g.
WeightForm.Tabs.AMTab.AMAppTab.AMAppFrame2.ScrollB ar1.Name) but none of
it seems to work. Are there issues with programmatically changing
scrollbars that are part of a frame/multitab?

Many thanks for any help you can offer,

Ross.


NickHK

ScrollBar Linking/Synching.
 
The fact that the scroll bars are on different pages and/or frames etc
should not make any difference :

Private Sub ScrollBar1_Change()
ScrollBar2.Value = ScrollBar1.Value
End Sub

Private Sub ScrollBar2_Change()
ScrollBar1.Value = ScrollBar2.Value
End Sub

Ensure you do not create an endless loop though, by continually changing
both vales.

NickHK

"Rawce" wrote in message
oups.com...
All,

I'm currently having trouble trying to link two scrollbars that are
part of different frames on the same multitab of a form. Basically,
when one scrolls up/down, I want the other one to scroll up/down
accordingly (and for this to be invisible to the user).

My main problem is probably not being able to access any of the
properties of the scrollbars themselves. I've tried capturing the
ScrollBar1_Change event, but nothing happens. I've tried the following
code to at least loop through them all so I have some names to work
off, but it doesn't like the For Each line (object doesn't support this
property or method error):

Sub ScrollFinder()

Dim myScroll As ScrollBar
For Each myScroll In WeightForm
MsgBox myScroll.Name
Next

End Sub

How do I access the scrollbars that are part of a frame? I've tried
working through the objects (e.g.
WeightForm.Tabs.AMTab.AMAppTab.AMAppFrame2.ScrollB ar1.Name) but none of
it seems to work. Are there issues with programmatically changing
scrollbars that are part of a frame/multitab?

Many thanks for any help you can offer,

Ross.




Rawce

ScrollBar Linking/Synching.
 
Thanks. I tried ScrollBarX_Change() previously with no joy. However, I
believe that my problem may be related to using the frame's own
scrollbar (fmScrollBarVisible, etc. from the Properties window). What I
think I should probably do is add a separate scrollbar (added from the
toolbox) and use the _Change() to move the scroll height of the frame,
therefore not using the frame's own scrollbar at all. I can therefore
also move both frames using one dedicated scrollbar.

I'll let you know how I get on, but thanks for your help anyway; the
..Value will come in handy with all this.

Cheers,

Ross.

NickHK wrote:
The fact that the scroll bars are on different pages and/or frames etc
should not make any difference :

Private Sub ScrollBar1_Change()
ScrollBar2.Value = ScrollBar1.Value
End Sub

Private Sub ScrollBar2_Change()
ScrollBar1.Value = ScrollBar2.Value
End Sub

Ensure you do not create an endless loop though, by continually changing
both vales.

NickHK

"Rawce" wrote in message
oups.com...
All,

I'm currently having trouble trying to link two scrollbars that are
part of different frames on the same multitab of a form. Basically,
when one scrolls up/down, I want the other one to scroll up/down
accordingly (and for this to be invisible to the user).

My main problem is probably not being able to access any of the
properties of the scrollbars themselves. I've tried capturing the
ScrollBar1_Change event, but nothing happens. I've tried the following
code to at least loop through them all so I have some names to work
off, but it doesn't like the For Each line (object doesn't support this
property or method error):

Sub ScrollFinder()

Dim myScroll As ScrollBar
For Each myScroll In WeightForm
MsgBox myScroll.Name
Next

End Sub

How do I access the scrollbars that are part of a frame? I've tried
working through the objects (e.g.
WeightForm.Tabs.AMTab.AMAppTab.AMAppFrame2.ScrollB ar1.Name) but none of
it seems to work. Are there issues with programmatically changing
scrollbars that are part of a frame/multitab?

Many thanks for any help you can offer,

Ross.



NickHK

ScrollBar Linking/Synching.
 
OK, if you are using the frame's built in scroll bars, you need to play its
..ScrollHeight, .ScrollLeft, etc properties.
You have the FrameX_Scroll event to trigger your code.

NickHK

"Rawce" wrote in message
oups.com...
Thanks. I tried ScrollBarX_Change() previously with no joy. However, I
believe that my problem may be related to using the frame's own
scrollbar (fmScrollBarVisible, etc. from the Properties window). What I
think I should probably do is add a separate scrollbar (added from the
toolbox) and use the _Change() to move the scroll height of the frame,
therefore not using the frame's own scrollbar at all. I can therefore
also move both frames using one dedicated scrollbar.

I'll let you know how I get on, but thanks for your help anyway; the
.Value will come in handy with all this.

Cheers,

Ross.

NickHK wrote:
The fact that the scroll bars are on different pages and/or frames etc
should not make any difference :

Private Sub ScrollBar1_Change()
ScrollBar2.Value = ScrollBar1.Value
End Sub

Private Sub ScrollBar2_Change()
ScrollBar1.Value = ScrollBar2.Value
End Sub

Ensure you do not create an endless loop though, by continually changing
both vales.

NickHK

"Rawce" wrote in message
oups.com...
All,

I'm currently having trouble trying to link two scrollbars that are
part of different frames on the same multitab of a form. Basically,
when one scrolls up/down, I want the other one to scroll up/down
accordingly (and for this to be invisible to the user).

My main problem is probably not being able to access any of the
properties of the scrollbars themselves. I've tried capturing the
ScrollBar1_Change event, but nothing happens. I've tried the following
code to at least loop through them all so I have some names to work
off, but it doesn't like the For Each line (object doesn't support

this
property or method error):

Sub ScrollFinder()

Dim myScroll As ScrollBar
For Each myScroll In WeightForm
MsgBox myScroll.Name
Next

End Sub

How do I access the scrollbars that are part of a frame? I've tried
working through the objects (e.g.
WeightForm.Tabs.AMTab.AMAppTab.AMAppFrame2.ScrollB ar1.Name) but none

of
it seems to work. Are there issues with programmatically changing
scrollbars that are part of a frame/multitab?

Many thanks for any help you can offer,

Ross.





Rawce

ScrollBar Linking/Synching.
 
Thanks for looking. Finally solved it using the method I mentioned
above (a separate scrollbar, linking the two frames by code within the
_Change event).

Cheers anyway,

Ross.

NickHK wrote:
OK, if you are using the frame's built in scroll bars, you need to play its
.ScrollHeight, .ScrollLeft, etc properties.
You have the FrameX_Scroll event to trigger your code.

NickHK

"Rawce" wrote in message
oups.com...
Thanks. I tried ScrollBarX_Change() previously with no joy. However, I
believe that my problem may be related to using the frame's own
scrollbar (fmScrollBarVisible, etc. from the Properties window). What I
think I should probably do is add a separate scrollbar (added from the
toolbox) and use the _Change() to move the scroll height of the frame,
therefore not using the frame's own scrollbar at all. I can therefore
also move both frames using one dedicated scrollbar.

I'll let you know how I get on, but thanks for your help anyway; the
.Value will come in handy with all this.

Cheers,

Ross.

NickHK wrote:
The fact that the scroll bars are on different pages and/or frames etc
should not make any difference :

Private Sub ScrollBar1_Change()
ScrollBar2.Value = ScrollBar1.Value
End Sub

Private Sub ScrollBar2_Change()
ScrollBar1.Value = ScrollBar2.Value
End Sub

Ensure you do not create an endless loop though, by continually changing
both vales.

NickHK

"Rawce" wrote in message
oups.com...
All,

I'm currently having trouble trying to link two scrollbars that are
part of different frames on the same multitab of a form. Basically,
when one scrolls up/down, I want the other one to scroll up/down
accordingly (and for this to be invisible to the user).

My main problem is probably not being able to access any of the
properties of the scrollbars themselves. I've tried capturing the
ScrollBar1_Change event, but nothing happens. I've tried the following
code to at least loop through them all so I have some names to work
off, but it doesn't like the For Each line (object doesn't support

this
property or method error):

Sub ScrollFinder()

Dim myScroll As ScrollBar
For Each myScroll In WeightForm
MsgBox myScroll.Name
Next

End Sub

How do I access the scrollbars that are part of a frame? I've tried
working through the objects (e.g.
WeightForm.Tabs.AMTab.AMAppTab.AMAppFrame2.ScrollB ar1.Name) but none

of
it seems to work. Are there issues with programmatically changing
scrollbars that are part of a frame/multitab?

Many thanks for any help you can offer,

Ross.





All times are GMT +1. The time now is 04:53 PM.

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