ich habe eine Datei, in welcher die sog. Liefer FZ errechnet werden soll. Dafür wurde von meiner Vorgängerin auch bereits ein Makro erstellt, welches auch soweit ganz gut funktioniert. Das Problem dabei ist jedoch, dass das Makro die Liefer FZ für alle Zeilen in dieser Mappe errechnet. Da die originale Arbeitsmappe jedoch über 12.000 Zeilen besitzt hat mein Vorgesetzter vorgeschlagen nur die Liefer FZ des heutigen Tages, die darauf folgenden 2 Wochen und anschließend alle Freitage innerhalb der nächsten 3 Monate errechnen zu lassen. Mein Gedanke war hier u.U ein Zweites Makro anzulegen, oder das bestehende so zu erweitern, dass jene Zeilen aus der Mappe gelöscht werden, die nicht dem genannten Datum entsprechen. Ich habe bereits mehrfach versucht dies zu selbst zu lösen aber führte zu wenig Erfolgen. Vielleicht hat jemand von euch eine bessere Idee dieses Problem zu lösen Ich habe hier eine Beispieldatei angefügt und kopiere auch das Makro, das die FZ errechnet hier herein. Vielen Dank im Voraus :)
Die Datei ist hier abgelegt: https://www.herber.de/bbs/user/148304.xlsx
Und das Makro:
Sub FZ_berechnen()
Range("AT1").Value = "alte Abrufe"
Range("AU1").Value = "neue Abrufe"
Range("AV1").Value = "alte FZ"
Range("AW1").Value = "neue FZ"
Range("AX1").Value = "Differenz"
lngLast = Cells(Rows.Count, 1).End(xlUp).Row
For Zeile = 3 To lngLast
Select Case Cells(2, 34).Value
Case Is = 0
Cells(2, 46).Value = "0"
Cells(Zeile, 47).Value = "0"
Case Is > 0
Cells(2, 34).Select
Selection.Copy
Cells(2, 46).Value = "0"
Cells(2, 47).PasteSpecial
Cells(2, 48) = "0"
Range("AW2") = "=RC[-13]+RC[-15]"
Case Is 0,VLOOKUP(RC[-13],C[-13]:C[-12],1,FALSE),0)"
Range("AU3").Select
Selection.AutoFill Destination:=Range("AU3:AU" & lngLast)
'wenn neue Abrufe
Select Case Cells(Zeile, 47).Value
Case Is >= 0
Cells(Zeile, 49) = "=IF(AND(R[-1]C[-48]=RC[-48]),IF(RC[-3]