Hallo Liebe Forenmitglieder!
Ich hätte mal eine Frage zu einer Makroaufzeichnung. Erstens kurz die Situation: Ich habe eine riesen Datenbank, die bei mehreren Auswertungen verwendet werden soll. Daher der Gedanke Makro. Dabei soll eine Datumsdifferenz gebildet werden. Dies habe ich mit dieser Formel gelöst : =WENN(N2 Wenn-Fkt wegen neg. Datum. Das war ja ok. Wenn ich aber nun die unteren Zellen fülle bzw. die unteren Datenreihe manuell fülle, kommt das richtige raus, Bsp.:
=WENN(N2<M2;DATEDIF(N2;M2;"d")*1;DATEDIF(M2;N2;"d")) -> Werrt wird berechnet bzw. angezeigt
=WENN(N3<M3;DATEDIF(N3;M3;"d")*1;DATEDIF(M3;N3;"d")) -> Werrt wird berechnet bzw. angezeigt
=WENN(N4<M4;DATEDIF(N4;M4;"d")*1;DATEDIF(M4;N4;"d")) -> Werrt wird berechnet bzw. angezeigt
=WENN(N5<M5;DATEDIF(N5;M5;"d")*1;DATEDIF(M5;N5;"d")) -> Werrt wird berechnet bzw. angezeigt
usw. bis Zeile 5000 befüllt.
ABER , wenn ich dies nun aufzeichne, sprich Aufzeichnung beginne, Formel in eine Spalte einfüge, schmeißt der mir immer die gleiche Formel rein und bestätigt die auch nicht, also berechnet der das nicht. Da wird bis Spalte 5000 dies dargstellt. Mit "relativen Verweis" habe ich es bereits auch probiert. Leider auch erfolglos. Auch dass der bspw. den Wert nicht anzeigt sondern nur die Formeln bzw. Fkt.:
=WENN(N2<M2;DATEDIF(N2;M2;"d")*1;DATEDIF(M2;N2;"d")) -> Werrt wird nicht berechnet bzw. angezeigt
=WENN(N2<M2;DATEDIF(N2;M2;"d")*1;DATEDIF(M2;N2;"d")) -> Werrt wird nicht berechnet bzw. angezeigt
=WENN(N2<M2;DATEDIF(N2;M2;"d")*1;DATEDIF(M2;N2;"d")) -> Werrt wird nicht berechnet bzw. angezeigt
=WENN(N2<M2;DATEDIF(N2;M2;"d")*1;DATEDIF(M2;N2;"d")) -> Werrt wird nicht berechnet bzw. angezeigt
=WENN(N2<M2;DATEDIF(N2;M2;"d")*1;DATEDIF(M2;N2;"d")) -> Werrt wird nicht berechnet bzw. angezeigt
Das aufgezeichnete Makro:
Sub Anzahl_der_Tage()
' Anzahl_der_Tage Makro
ActiveSheet.PasteSpecial Format:="Unicode-Text", Link:=False, _
DisplayAsIcon:=False, NoHTMLFormatting:=True
Selection.AutoFill Destination:=Range("W2:W5000"), Type:=xlFillDefault
Range("W2:W5000").Select
End Sub
Aber ich habe es dann auch mit einem Makro ohne aufzeichnen probiert:
Sub Anzahl_Tage_Formel()
With ActiveSheet
.Range("AG2").FormulaLocal = "=WENN(N2<M2;DATEDIF(N2;M2;"d")*1;DATEDIF(M2;N2;"d"))"
.Range("AG2:AG5000").FillDown
End With
End Sub
Aber dann wird ein Fehler gemeldet "d". Wenn ich die Tage "d" herausnehme wird es ausgeführt aber in Excel wird #Zahl eingetragen.
Ich bin schon seit Tagen und Stunden an dieser Aufgabe dran und bin sehr am verzweifeln. Ich wäre wirklich sehr sehr dankbar für Tipps.
Mit freundlichen Grüßen
|