While- in einer For-Schleife
07.06.2018 14:06:03
Christof
Ich habe ein Problem und komme einfach nicht auf die Lösung. Ich habe eine Arbeitsmappe, in der ich auf verschiedenen Arbeitsblättern Werte berechne und diese dann auf dem letzten Arbeitsblatt benutze, wodurch Werte entstehen, die wiederum in den ersten Arbeitsblättern zur weiteren Berechnung benötigt werden. Klingt kompliziert, ich weiß
Mein Gedanke war also, dass ich die Werte aus dem letzten Arbeitsblatt in die anderen Arbeitsblätter kopiere, dort dann die Formeln "runterziehe" und die berechneten Werte wieder auf das letzte Blatt kopiere. Soweit bin ich leider noch nicht.
Aber hier erstmal mein Code:
Sub Schaltfläche1_Klicken()
Dim zeile As Long
Dim zeile1 As Long
Dim spalte As String
Dim spalte1 As String
Dim spalte2 As String
Dim Ini As Long
Dim WS_Count As Integer
Dim x As Integer
Ini = ThisWorkbook.Worksheets("test").Range("M2").Value
WS_Count = ActiveWorkbook.Worksheets.Count
spalte = "K"
spalte1 = "B"
spalte2 = "A"
zeile = 2
For x = 1 To WS_Count
Do While Sheets(ActiveWorkbook.Worksheets(x).Name).Range(spalte & zeile).Value >= Ini
zeile1 = zeile + 1
Sheets(ActiveWorkbook.Worksheets(x).Name).Range(spalte & zeile).Copy
Sheets(ActiveWorkbook.Worksheets(x).Name).Range(spalte2 & zeile1).Value = zeile
Sheets(ActiveWorkbook.Worksheets(x).Name).Range(spalte1 & zeile1).PasteSpecial _
xlPasteValues
Call Formel_runter(ActiveWorkbook.Worksheets(x).Name, zeile, zeile1)
zeile = zeile + 1
Loop
Next
End Sub
Was ich mir dabei gedacht habe: Ich gebe zunächst mal den Blättern eine ID, die ich dann in der For-Schleife abfrage. Dann führe ich in der While-Schleife für jedes Tabellenblatt meine Copy-Paste-Formelgeschichte durch, bis ein festgelegter Wert unterschritten wird. Dann bricht die While Schleife ab und Excel könnte mit der Berechnung auf der nächsten Seite fortfahren. Das funktioniert jedoch mit meinem Code nicht. Vermutlich wegen Erfüllung der Bedingung und damit der Beendigung der While-Schleife?!
Kann mir jemand helfen?