Hallo miteinander,
Ich schreibe an einem makro, das mir aus mehreren sheets daten zusammen zieht, und diese in einem "analysis-sheet" addiert.
Die daten welche zusammengeführt werden sollen, kann man im "analysis-sheet" durch kontrollkästchen auswählen.
nun habe ich ziemlich viele daten, und müsste für jedes kontrollkästchen einen riesigen code schreiben, der sich immer wiederholt für jedes kontrollkästchen, dabei ändern nur einzelne feste werte.
hier mein bisheriger code:
Sub CheckBox1_Click()
If Worksheets("Analysis").CheckBox1 = True Then 'data-sheet 1
For i = 2 To 18
Worksheets("ZT").Cells(21, i) = Worksheets("data-sheet 1").Cells(7, i)
Worksheets("ZT").Cells(98, i) = Worksheets("data-sheet 1").Cells(10, i)
Worksheets("ZT").Cells(175, i) = Worksheets("data-sheet 1").Cells(13, i)
Worksheets("ZT").Cells(252, i) = Worksheets("data-sheet 1").Cells(15, i)
Worksheets("ZT").Cells(329, i) = Worksheets("data-sheet 1").Cells(18, i)
Worksheets("ZT").Cells(406, i) = Worksheets("data-sheet 1").Cells(19, i)
Worksheets("ZT").Cells(483, i) = Worksheets("data-sheet 1").Cells(20, i)
Worksheets("ZT").Cells(560, i) = Worksheets("data-sheet 1").Cells(21, i)
Worksheets("ZT").Cells(637, i) = Worksheets("data-sheet 1").Cells(22, i)
Worksheets("ZT").Cells(714, i) = Worksheets("data-sheet 1").Cells(65, i)
Worksheets("ZT").Cells(791, i) = Worksheets("data-sheet 1").Cells(68, i)
Worksheets("ZT").Cells(868, i) = Worksheets("data-sheet 1").Cells(72, i)
Next
Else
Worksheets("ZT").Range("B21:R21") = 0
Worksheets("ZT").Range("B98:R98") = 0
Worksheets("ZT").Range("B175:R175") = 0
Worksheets("ZT").Range("B252:R252") = 0
Worksheets("ZT").Range("B329:R329") = 0
Worksheets("ZT").Range("B406:R406") = 0
Worksheets("ZT").Range("B483:R483") = 0
Worksheets("ZT").Range("B560:R560") = 0
Worksheets("ZT").Range("B637:R637") = 0
Worksheets("ZT").Range("B714:R714") = 0
Worksheets("ZT").Range("B791:R791") = 0
Worksheets("ZT").Range("B868:R868") = 0
End If
End Sub
Dieser code wiederholt sich nun für 100 weitere Kästchen.
Könnte man diesen nicht durch einen loop verkürzen, resp. vereinfachen, in dem man anstatt den zahlen "21, 98, 175, 252, 329..." so etwas wie "j = 21", "j = j+ 77"
dann müsste nur noch der ursprungswert (21) verändert werden und könnte beim Kontroll-kästchen 2 dann z.b 22 sein. die Werte "7, 10, 13, 15..." sind für jedes data-sheet die gleichen.
wäre sehr froh über ein feeback. bin ein frischling in makros...
freundliche Grüsse
Anias |