Ich versuche, mein Enddatum basierend auf dem Startdatum und der Dauer in der Tabelle zu generieren. Meine Tabelle sind wie folgt:VBA Automatisch die Dauer bis zum Startdatum hinzufügen, um das Enddatum zu generieren
Table column for ID, Task Desc, Start Date, Duration, Planned End Date is A,B,C,D,E respectively
Ich habe versucht, den VBA-Code ausgeführt werden wie folgt, aber es wird nur das Enddatum erzeugen, wenn ich den Unter laufen. Wie kann ich es als automatisch generieren lassen? Der Code sind wie folgt:
Sub PlannedEndDate()
Dim userInputDate As Date
Dim duration As Integer
Dim endDate As Date
Dim MyRow As Long
'Start at row 6
MyRow = 6
'Loop untill column A is empty (no task)
While Cells(MyRow, "A").Value <> ""
'Only if not yet filled in.
If Cells(MyRow, "E").Value = "" Then
'Fetch info
userInputDate = Cells(MyRow, "C").Value
duration = Cells(MyRow, "D").Value
endDate = DateAdd("d", duration, userInputDate)
'Put it back on the sheet
Cells(MyRow, "E").Value = endDate
End If
MyRow = MyRow + 1
Wend
End Sub
Vielen Dank.
Wann soll es erzeugt werden? Wenn es erzeugt wird, sobald das Arbeitsblatt erstellt wird, werden Sie mit vielen Zellen enden, die "1. Januar 1900" sagen. (Könntest du einfach die Formel '= C6 + D6' in die Zelle E6 setzen usw. und den Benutzern erlauben, den Wert bei Bedarf zu überschreiben, oder ist es die Absicht, dass die Benutzer" Startdatum "oder" Dauer "aktualisieren und du nicht 'Geplantes Enddatum' sollte nicht geändert werden, wenn diese Zellen ursprünglich gefüllt wurden?) – YowE3K
Ich möchte, dass das Enddatum jedes Mal generiert wird, wenn das Anfangsdatum und die Dauerzelle ausgefüllt werden und wenn es möglich ist, möchte ich den Benutzer nicht den für das geplante Enddatum aufgefüllten Wert zu überschreiben. – hotseetotsee
Um nur sicher zu sein, was Sie fragen, wenn ein Benutzer ein Datum vom 1. Januar 2017 in Zelle C10 eingibt und dann eine Dauer von 1000 in Zelle D10 eingibt, soll Zelle E10 auf 28. September 2019 festgelegt werden. Und dann, wenn der Benutzer erkennt, dass sie nur 100 (und nicht 1000) in Zelle D10 setzen wollte, wollen Sie, dass E10 am 28. September 2019 bleibt? – YowE3K