Toon posts:

scrollbar VBA

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo, ik ben nieuw op dit forum, ik hoop dat ik mijn vraag op de juiste plaats heb gepost...

Ik probeer een programmatje te schrijven met 3 scrollbars en 3 labels. In de labels moeten de waardes verschijnen van de respectievelijke scrollbar.
De scrollbars hebben als minimumwaarde 0 en maximumwaarde 127. Wanneer ik de met de het balkje van een scrollbar verschuif, daarna een andere scrollbar aanpas, kan ik met de eerste scrollbar plots meer dan 127 behalen...
kan iemand me vertellen wat ik verkeerd doe of hoe ik dit probleem kan oplossen. Ik heb op internet al gezocht maar ik vind geen goede voorbeelden met meerdere scrollbars...

alvsast bedankt voor de hulp!

zie hier de code die ik al heb:

Option Explicit

Dim ScrollSaved1 As Integer
Dim ScrollSaved2 As Integer
Dim ScrollSaved3 As Integer
----------------------------------------------------------
Private Sub UserForm_Initialize()
ScrollBar1.Min = 0
ScrollBar1.Max = 127
ScrollBar1.Value = 0

ScrollBar2.Min = 0
ScrollBar2.Max = 127
ScrollBar2.Value = 0

ScrollBar3.Min = 0
ScrollBar3.Max = 127
ScrollBar3.Value = 0

End Sub
----------------------------------------------------------
Private Sub ScrollBar1_Change()
Dim i As Integer
i = ScrollSaved1 + ScrollBar1.Value
Label1.Caption = i

End Sub
----------------------------------------------------------
Private Sub ScrollBar2_Change()
Dim j As Integer
j = ScrollSaved2 + ScrollBar2.Value
Label2.Caption = j

End Sub
----------------------------------------------------------
Private Sub ScrollBar3_Change()
Dim z As Integer
z = ScrollSaved3 + ScrollBar3.Value
Label3.Caption = z

End Sub
----------------------------------------------------------
Private Sub ScrollBar1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Label1.Caption = (ScrollSaved1 + ScrollBar1.Value)
ScrollSaved1 = ScrollBar1.Value

End Sub
----------------------------------------------------------
Private Sub ScrollBar2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Label2.Caption = ScrollSaved2 + ScrollBar2.Value
ScrollSaved2 = ScrollBar2.Value

End Sub
----------------------------------------------------------
Private Sub ScrollBar3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Label3.Caption = (ScrollSaved3 + ScrollBar3.Value)
ScrollSaved3 = ScrollBar3.Value

End Sub

Verwijderd

Waarom sla je de oude waardes van de scrollbars op ? want dat is namelijk je probleem. stel, bij het verlaten van sb1, die op waarde 100 staat, wordt Scrollbar1saved op 100 gezet. als je daarna scrollbar 1 weer verplaatst, naar bijvoorbeeld 101, dan wordt je label gezet op 100 + 101 = 201 !
Je hoeft die waarden niet op te slaan, de scrollbar onthoudt zelf wel waar ie staat.

Verwijderd

Topicstarter
heel hard bedankt, mijn probleem is inderdaad opgelost!

bedankt om zo vlug te reageren!