Wenn Dann Funktion in Excel
Hallo und guten Morgen,
ich habe keinerlei Excel Erfahrung, das mal vorweg.
Nun habe ich eine Zelle so formatiert, dass sie eine Dropdown Auwahl enthält. Das funktioniert auch.
Nun würde ich gerne eine Wenn Dann Funktion ergänzen.
Sinn und Zweck: Die Liste steht mehreren Usern zur Verfügung. Wenn ein User den Wert der Zelle von
"offen" auf "in Bearbeitung" oder "Zurückgestellt" ändert, soll automatisch das aktuelle Datum in ein Nachbarfeld gesetzt werden.
also quasi. wenn Zellenwert ungleich "offen" dann setze aktuelles Datum in Nachbarfeld.
Kann ich das mit Excel irgendwie realisieren?
Vielen Dank
ich habe keinerlei Excel Erfahrung, das mal vorweg.
Nun habe ich eine Zelle so formatiert, dass sie eine Dropdown Auwahl enthält. Das funktioniert auch.
Nun würde ich gerne eine Wenn Dann Funktion ergänzen.
Sinn und Zweck: Die Liste steht mehreren Usern zur Verfügung. Wenn ein User den Wert der Zelle von
"offen" auf "in Bearbeitung" oder "Zurückgestellt" ändert, soll automatisch das aktuelle Datum in ein Nachbarfeld gesetzt werden.
also quasi. wenn Zellenwert ungleich "offen" dann setze aktuelles Datum in Nachbarfeld.
Kann ich das mit Excel irgendwie realisieren?
Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 185482
Url: https://administrator.de/forum/wenn-dann-funktion-in-excel-185482.html
Ausgedruckt am: 23.12.2024 um 12:12 Uhr
9 Kommentare
Neuester Kommentar
Moin donnerkai,
wenn die Worte so in der Zelle stehen (i.e. 'A1'), dann kommt in Zelle 'B1':
Zellen bzw. Spalte 'B' als Datum formatieren.
ABER: Das Datum wird bei jedem späteren Öffnen der Mappe aktualisiert! Sollte das von Bedeutung sein, kann man per VBA (gekoppelt an DropDown) den Datumswert eintragen lassen ...
Freundliche Grüße von der Insel - Mario
wenn die Worte so in der Zelle stehen (i.e. 'A1'), dann kommt in Zelle 'B1':
=WENN(UND($A1<>"offen";$A1<>"");HEUTE();"")
Zellen bzw. Spalte 'B' als Datum formatieren.
ABER: Das Datum wird bei jedem späteren Öffnen der Mappe aktualisiert! Sollte das von Bedeutung sein, kann man per VBA (gekoppelt an DropDown) den Datumswert eintragen lassen ...
Freundliche Grüße von der Insel - Mario
Moin donnerkai,
eher so:
Den Bereich in Zeile 4 evtl. anpassen.
Freundliche Grüße von der Insel - Mario
eher so:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Row < 2 Or Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
If Not Intersect(Target, Range("E2:E50")) Is Nothing Then
If Target.Text = "Zurückgestellt" Or Target.Text = "in Bearbeitung" Then
Target.Offset(0, 1) = Format(Now, "dd.mm.yyyy")
Else
Target.Offset(0, 1) = Empty
End If
End If
Application.EnableEvents = True
End Sub
Den Bereich in Zeile 4 evtl. anpassen.
Freundliche Grüße von der Insel - Mario
Hallo donnerkai!
Nur zur Sicherheit: Den Code hast Du hoffentlich nicht in ein Modul eingefügt, sondern der Tabelle zugeordnet (am einfachsten per Rechtsklick auf das Registerblatt der Tabelle und "Code anzeigen")?
Ansonsten siehe noch meine Anmerkung oberhalb ...
[Edit] ... und wenn Du tatsächlich die Zelle A30 änderst, wird auch nix passieren (überwacht werden E2:E50). [/Edit]
Grüße
bastla
Nur zur Sicherheit: Den Code hast Du hoffentlich nicht in ein Modul eingefügt, sondern der Tabelle zugeordnet (am einfachsten per Rechtsklick auf das Registerblatt der Tabelle und "Code anzeigen")?
Ansonsten siehe noch meine Anmerkung oberhalb ...
[Edit] ... und wenn Du tatsächlich die Zelle A30 änderst, wird auch nix passieren (überwacht werden E2:E50). [/Edit]
Grüße
bastla
Moin donnerkai,
es passiert nur etwas, wenn Du die Zellen im Bereich 'E2' bis 'E50' veränderst, wenn andere Zellen benutzt werde, musst Du in Zeile 4 des Codes selbiges anpassen.
Um zu prüfen, ob der Code überhaupt ausgeführt wird, schreibst Du als Zeile 2
Es wird dann jedesmal angezeigt, in welcher Zelle etwas geändert wurde - diese Code-Zeile später wieder löschen.
Freundliche Grüße von der Insel - Mario
es passiert nur etwas, wenn Du die Zellen im Bereich 'E2' bis 'E50' veränderst, wenn andere Zellen benutzt werde, musst Du in Zeile 4 des Codes selbiges anpassen.
Um zu prüfen, ob der Code überhaupt ausgeführt wird, schreibst Du als Zeile 2
MsgBox Target.Address
Es wird dann jedesmal angezeigt, in welcher Zelle etwas geändert wurde - diese Code-Zeile später wieder löschen.
Freundliche Grüße von der Insel - Mario