Algo für true-false von CheckBoxen
13.07.2018 09:14:30
CheckBoxen
ich baue immer noch an meinem Tool und die Optimierung klappt es einwandfrei, inkl. der Version mit der variablen Anzahl der Packstücke (habe ich in beiden Berechnung auf 25 max. begrenzt, wodurch die Laufzeit extrem gestiegen ist).
Nun eine weitere Frage an die Experten:
In meinem Tool soll nach der Optimierung eine Feinplanung stattfinden dergestalt, dass zunächst die optimierten Packstücke mit den dazugehörigen Aufträgen in die Planungsliste geschrieben wird. Dann soll - aus Gründen des Auftragssplitting (der Auftrag besteht aus mehreren Packstücken, die unterschiedlich verarbeitet werden sollen). Dazu habe ich unter der Bedingung der Buchung dieses Packstückes je Auftrag eine CheckBox eingebaut, die zu Beginn der Planung aktiviert werden soll, wenn das Packstück gebucht wurde.
Das funktioniert sehr gut per VBA aber ist bei der Anzahl der CheckBoxen mühseelig.
Hier mal der Code:
Private Sub Haken_setzen()
' Zeile 10
If Sheets("Anlegerplanung BEL TEST").Range("AC10") > 0 Then
Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 18").ControlFormat.value = 1
Else: Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 18").ControlFormat.value = 0
End If
If Sheets("Anlegerplanung BEL TEST").Range("AD10") > 0 Then
Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 20").ControlFormat.value = 1
Else: Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 20").ControlFormat.value = 0
End If
If Sheets("Anlegerplanung BEL TEST").Range("AE10") > 0 Then
Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 21").ControlFormat.value = 1
Else: Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 21").ControlFormat.value = 0
End If
If Sheets("Anlegerplanung BEL TEST").Range("AF10") > 0 Then
Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 22").ControlFormat.value = 1
Else: Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 22").ControlFormat.value = 0
End If
If Sheets("Anlegerplanung BEL TEST").Range("AG10") > 0 Then
Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 23").ControlFormat.value = 1
Else: Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 23").ControlFormat.value = 0
End If
If Sheets("Anlegerplanung BEL TEST").Range("AH10") > 0 Then
Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 24").ControlFormat.value = 1
Else: Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 24").ControlFormat.value = 0
End If
' Zeile 11
If Sheets("Anlegerplanung BEL TEST").Range("AC11") > 0 Then
Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 11").ControlFormat.value = 1
Else: Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 11").ControlFormat.value = 0
End If
If Sheets("Anlegerplanung BEL TEST").Range("AD11") > 0 Then
Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 12").ControlFormat.value = 1
Else: Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 12").ControlFormat.value = 0
End If
If Sheets("Anlegerplanung BEL TEST").Range("AE11") > 0 Then
Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 13").ControlFormat.value = 1
Else: Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 13").ControlFormat.value = 0
End If
If Sheets("Anlegerplanung BEL TEST").Range("AF11") > 0 Then
Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 14").ControlFormat.value = 1
Else: Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 14").ControlFormat.value = 0
End If
If Sheets("Anlegerplanung BEL TEST").Range("AG11") > 0 Then
Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 15").ControlFormat.value = 1
Else: Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 15").ControlFormat.value = 0
End If
If Sheets("Anlegerplanung BEL TEST").Range("AH11") > 0 Then
Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 16").ControlFormat.value = 1
Else: Sheets("Anlegerplanung BEL TEST").Shapes("Check Box 16").ControlFormat.value = 0
End If
und so geht's weiter bis Zeile 41 ...
Kann man das mit einer IF-Then-Next oder while-do-Schleife abkürzen?
Danke für eure Bemühungen.
VG
Robert