Code vereinfachen/Erklären
27.12.2023 14:04:55
Gaertnervonhindendrüben
Ich baue mir momentan ein Programm bei dem Ich mir per vba ein neues Tabellenblatt entsprechend nach parametern erstellen lasse.
Nun habe Ich da etwas geschrieben bei dem
K ein wert aus 3 Zellen ist vom Tabellenblatt ws
Mein Wert ü möge K -1 sein
Allerdings soll wenn ü in dem Wertebereich 1-15 ist
die werte 1-15 in Zeile 17, 4+2*ü eingetragen werden
Wenn ü im wertebereich 16-30 ist so soll
die werte in Zeile 22,4 +2*(ü-15) eingetragen werden
Jetzt frage Ich mich ob es nicht eine Möglichkeit gibt das ganze in eine KOMPAKTE Formel zu packen was Ich da fabriziert habe
Hier mal mein Code (von unten anfangen zu lesen)
Dim K As Integer
K = ws.Cells(14, 6).Value + ws.Cells(14, 8).Value + ws.Cells(14, 10).Value
Dim ü As Integer
For ü = 0 To K - 1
If ü >= 210 Then
Cells(87, 4 + 2 * (ü - 210)) = 1 + ü
ElseIf ü >= 195 Then
Cells(82, 4 + 2 * (ü - 195)) = 1 + ü
ElseIf ü >= 180 Then
Cells(77, 4 + 2 * (ü - 180)) = 1 + ü
ElseIf ü >= 165 Then
Cells(72, 4 + 2 * (ü - 165)) = 1 + ü
ElseIf ü >= 150 Then
Cells(67, 4 + 2 * (ü - 150)) = 1 + ü
ElseIf ü >= 135 Then
Cells(62, 4 + 2 * (ü - 135)) = 1 + ü
ElseIf ü >= 120 Then
Cells(57, 4 + 2 * (ü - 120)) = 1 + ü
ElseIf ü >= 105 Then
Cells(52, 4 + 2 * (ü - 105)) = 1 + ü
ElseIf ü >= 90 Then
Cells(47, 4 + 2 * (ü - 90)) = 1 + ü
ElseIf ü >= 75 Then
Cells(42, 4 + 2 * (ü - 75)) = 1 + ü
ElseIf ü >= 60 Then
Cells(37, 4 + 2 * (ü - 60)) = 1 + ü
ElseIf ü >= 45 Then
Cells(32, 4 + 2 * (ü - 45)) = 1 + ü
ElseIf ü >= 30 Then
Cells(27, 4 + 2 * (ü - 30)) = 1 + ü
ElseIf ü >= 15 Then
Cells(22, 4 + 2 * (ü - 15)) = 1 + ü
ElseIf ü 15 Then
Cells(17, 4 + 2 * ü) = 1 + ü
End If
Next ü
Für eure Hilfe wäre Ich sehr Dankbar ,
da ich nocheinmal eine Abhängigkeit einbauen möchte allerdings würde der Code dann ewig lang werden
Danke Im Voraus
Grüße Gaertnervonhindendrüben