Loop in Loop
30.01.2018 16:24:32
FabySan
ich habe ein Problem, das ich gerne per VBA lösen möchte, welches jedoch meine bescheidenden Kenntnisse übersteigt. Es geht um folgendes: In der Spalte AH, Zeile 17:31 und 53:67, 89:103 usw. habe ich Blöcke mit Werten, dass ganze 30 mal und immer 36 Zeilen weiter gesprungen. Daneben befinden sich umgedrehte Dreiecke die ebenfalls mit Werten befüllt sind. Nun möchte ich gerne per VBA, dass Excel den obersten Wert in dem Werteblock (AH17) minus dem letzten Werten in der letzten befüllten Spalte des Dreiecks rechnet (Q17) und die Differenz dann in AH 17 einträgt.
Ein weiteres Bespiel: Für den Fall AH18 müsste dann AH18 - P18 gerechnet werden und die Differenz in AH 18 eintragen werden. Ist dies für den ganzen Block geschehen, also bis AH31 (was dann AH31 - C31 wäre) soll VBA zum nächsten Block springen, der bei AH53 startet.
Ich wollte das Ganze durch eine Schleife in der Schleife lösen, leider stürzt mein Excel beim durchführen des Subs immer ab.
Sub Calculation()
Call Set_Sheets
j = i * 36
x = 17
With PaidSheet
Do Until Cells(.Rows.Count, 34).End(xlUp).row = ""
For n = 0 To 14
Cells(x + n, 34).Value = ActiveCell.Value - Cells(x + n, x - n).Value
Next n
For i = 1 To 2
If n = 14 Then x = 17 + j
Next i
Loop
End With
End Sub
Anbei eine Testdatei die den Aufbau verdeutlichen soll. Vielen Dank schon Mal für jede Hilfe.https://www.herber.de/bbs/user/119415.xlsx
LG