Lösung erstellt
das ist das VBA
Private Sub SpinButton1_Change()
ActiveSheet.Unprotect
Dim lngMin As Long
Dim lngMax As Long
'oberen Wert des Spinbuttons berechnen, abhänging von Anzahl der Spieler (aus Zelle H1) und der aktuellen Runde (aus Zelle F1)
lngMax = Range("H1").Value * Range("F1").Value
'unteren Wert berechnen
lngMin = lngMax - Range("H1").Value + 1
ActiveSheet.Unprotect
If SpinButton1.Value < lngMin Then SpinButton1.Value = lngMax 'fällt Wert kleiner als Minimalwert ist, dann Maximalwert zuweisen
ActiveSheet.Range("J1") = SpinButton1.Value
End Sub
Private Sub SpinButton1_SpinUp()
Dim lngMin As Long
Dim lngMax As Long
'oberen Wert des Spinbuttons berechnen, abhänging von Anzahl der Spieler (aus Zelle H1) und der aktuellen Runde (aus Zelle F1)
lngMax = Range("H1").Value * Range("F1").Value
'unteren Wert berechnen
lngMin = lngMax - Range("H1").Value + 1
ActiveSheet.Unprotect
If SpinButton1.Value > lngMax Then SpinButton1.Value = lngMin 'Falls neuer Wert größer als Maximalwert ist, dann Minimalwert zuweisen
If SpinButton1.Value < lngMin Then SpinButton1.Value = lngMin 'Falls neuer Wert kleiner als Minimalwert ist, dann Minimalwert zuweisen - nur bei neuer Runde
ActiveSheet.Range("J1") = SpinButton1.Value
End Sub
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
ActiveSheet.Unprotect
'Bereiche, in dem die 1 eingefügt werden soll
If Not Intersect(Target, Range("g2")) Is Nothing Then
Target.Value = 1
SpinButton1.Min = 1 'untere Grenze für den Spinbutton festlegen
SpinButton1.Max = 64 'obere Grenze für den Spinbutton festlegen
Range("f1").Value = 1 'Wert für untere Grenze in Zelle f1 schreiben
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 1 eingefügt werden soll
If Not Intersect(Target, Range("g12")) Is Nothing Then
Target.Value = 11
SpinButton1.Min = 1 'untere Grenze für den Spinbutton festlegen
SpinButton1.Max = 64 'obere Grenze für den Spinbutton festlegen
Range("f1").Value = 11 'Wert für untere Grenze in Zelle f1 schreiben
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 1 eingefügt werden soll
If Not Intersect(Target, Range("g3")) Is Nothing Then
Target.Value = 2
SpinButton1.Min = 1
SpinButton1.Max = 64
Range("F1").Value = 2
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 1 eingefügt werden soll
If Not Intersect(Target, Range("g4")) Is Nothing Then
Target.Value = 3
SpinButton1.Min = 1
SpinButton1.Max = 64
Range("F1").Value = 3
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 65 eingefügt werden soll
If Not Intersect(Target, Range("g5")) Is Nothing Then
Target.Value = 4
SpinButton1.Min = 1
SpinButton1.Max = 64
Range("F1").Value = 4
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 1 eingefügt werden soll
If Not Intersect(Target, Range("G6")) Is Nothing Then
Target.Value = 5
SpinButton1.Min = 1
SpinButton1.Max = 64
Range("F1").Value = 5
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 1 eingefügt werden soll
If Not Intersect(Target, Range("G7")) Is Nothing Then
Target.Value = 6
SpinButton1.Min = 1
SpinButton1.Max = 64
Range("F1").Value = 6
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 1 eingefügt werden soll
If Not Intersect(Target, Range("g8")) Is Nothing Then
Target.Value = 7
SpinButton1.Min = 1
SpinButton1.Max = 64
Range("F1").Value = 7
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 65 eingefügt werden soll
If Not Intersect(Target, Range("g9")) Is Nothing Then
Target.Value = 8
SpinButton1.Min = 1
SpinButton1.Max = 64
Range("F1").Value = 8
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 1 eingefügt werden soll
If Not Intersect(Target, Range("G10")) Is Nothing Then
Target.Value = 9
SpinButton1.Min = 1
SpinButton1.Max = 64
Range("F1").Value = 9
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 1 eingefügt werden soll
If Not Intersect(Target, Range("G11")) Is Nothing Then
Target.Value = 10
SpinButton1.Min = 1
SpinButton1.Max = 64
Range("F1").Value = 10
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 1 eingefügt werden soll
If Not Intersect(Target, Range("rh1")) Is Nothing Then
Target.Value = 1
SpinButton1.Min = 1 'untere Grenze für den Spinbutton festlegen
SpinButton1.Max = 64 'obere Grenze für den Spinbutton festlegen
Range("h1").Value = 2 'Wert für untere Grenze in Zelle J1 schreiben
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 1 eingefügt werden soll
If Not Intersect(Target, Range("ri1")) Is Nothing Then
Target.Value = 1
SpinButton1.Min = 1
SpinButton1.Max = 64
Range("h1").Value = 3
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 1 eingefügt werden soll
If Not Intersect(Target, Range("rj1")) Is Nothing Then
Target.Value = 1
SpinButton1.Min = 1
SpinButton1.Max = 64
Range("h1").Value = 4
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 65 eingefügt werden soll
If Not Intersect(Target, Range("rk1")) Is Nothing Then
Target.Value = 1
SpinButton1.Min = 1
SpinButton1.Max = 64
Range("h1").Value = 5
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 1 eingefügt werden soll
If Not Intersect(Target, Range("rl1")) Is Nothing Then
Target.Value = 1
SpinButton1.Min = 1
SpinButton1.Max = 64
Range("h1").Value = 6
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 65 eingefügt werden soll
If Not Intersect(Target, Range("rm1")) Is Nothing Then
Target.Value = 1
SpinButton1.Min = 1
SpinButton1.Max = 64
Range("h1").Value = 7
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
'Bereiche, in dem die 1 eingefügt werden soll
If Not Intersect(Target, Range("rn1")) Is Nothing Then
Target.Value = 1
SpinButton1.Min = 1
SpinButton1.Max = 64
Range("h1").Value = 8
Cancel = True 'Menü nach drücken rechte Maustaste nicht anzeigen
End If
ActiveSheet.Protect
End Sub
Gruß Adde