und generell ein anderer Ansatz vielleicht so ...
04.11.2021 08:09:53
Udo.D
Ich hatte irgendwie in Erinnerung dass du mehrere SB. drinn hättest, egal seis drum, aber , du möchtest mit dem SB zwischen den TAB wechseln wenn ich dich richtig verstanden habe. Der einzige Vorteil aus meiner Sicht - warum man einen Spinnbutton nutzt, ist der, dass wenn du länger draufgeklickt die Taste hälst, er dann schneller "spinnt" in seiner Zählung, diesen Wert kann man ja in den Eigenschaften des SB auch - wenn ich es noch recht weis - über den DELAY Wert anpassen , da is glaub standartmässig 50, wenn du da mal 10, 20 oder so eingibst, spinnt er ja glaube langsamer, kannste probieren, ok. Kann ja Jeder halten wie man will.
Seis drum, du hast 1-7 Tab die du wechselst, da brauchst du nicht wirklich diesen Gimmik dass wenn du länger gedrückt hälst du dann schneller von 1 nach 7 springst.
das erreichst du genauso schnell über einen ganz normalen Button, in deinem Fall dann eben 2, einen für Linkssprung u den anderen für Rechtssprung, die Grösse des Buttons kannst du ja ebenfalls anpassen und nebeneinander platzieren, sowie den Text ( Schriftart: WINGDINGS 3, t/u ( gefülltes Dreieck), w/v (Dreick Silouette) ) des Spinnbutton Schalters nachahmen - so man das so will / braucht.
Deinen Spinnbutton verlinkst du ja auf irgendeine Zelle um dort den Wert entspr. zu beeinflussen - je nachdem wie du deinen SB anklickst.
Sagen wir dafür [A1] , in [B1] einen max. Fixwert für Links und in [C1] einen max. Fixwert für Rechts.
Dann nutze doch folgende Codes für die beiden Buttons ( gestestet ) :
zum das Verhalten testen ...
Sub Rechtssprung()
If [A1]
If [A1] > [B1] Then
[A1] = [B1].Value
Exit Sub
End If
[A1] = [A1].Value + 1
Else
[A1] = 1
End If
End Sub
'
'
Sub Linkssprung()
If [A1] > 1 Then
If [A1] > [B1] Then
[A1] = [B1].Value
Exit Sub
End If
[A1] = [A1].Value - 1
Else
[A1] = [C1].Value
End If
End Sub
und um gleich auf deine Tabellenblätter auszuwirken ( getestet , musst du bei dir evtl. noch anpassen ) ..
Private Sub CommandButton1_Click() ' Linkssprung
If ActiveSheet.Index > Sheets(1).Index Then
If ActiveSheet.Index > Sheets(6).Index Then
Sheets(6).Select
Exit Sub
End If
Sheets(ActiveSheet.Index - 1).Select
Else
Sheets(6).Select
End If
End Sub
Private Sub CommandButton2_Click() ' Rechtssprung
If ActiveSheet.Index Sheets(6).Index Then
Sheets(6).Select
Exit Sub
End If
Sheets(ActiveSheet.Index + 1).Select
Else
Sheets(1).Select
End If
End Sub
Dann hast du zwar keinen Spinn mehr, dafür aber einen Überlauf-Sprung, je Seite, da - wenn du auf einem der beiden Schalter nun endlos klicken würdest,
er in " Schleife " dann immer wieder bei 1 oder den von dir eingestellten MAX Wert in [B1] & [C1] dann wieder beginnt.
Auch n Vorteil den der Spinnbutton glaub nicht bietet, also so zumindest würde ich es glaube ich machen in deinem Fall.
Hoffe konnte Dir damit helfen, und verzeih ich TikTokke nicht mehr ganz richtig,
wenn dus noch nicht kanntest, mach mal das Plus weg und klick aufs Herzchen ;-)
Udo