So erstellen Sie eine Formel, die die aktuelle Zeit berechnet, wenn jemand die Zelle ausfüllt. Wenn der Mitarbeiter beispielsweise kommt und die Abwesenheit nachholen muss, trägt die Formel die von ihm eingegebene Zeit ein, beispielsweise 14:30.
Ich habe bereits die Formel =now() verwendet, aber sie funktioniert nicht. Sie wird jedes Mal aktualisiert, wenn wir die Abwesenheit eingeben.
Antwort1
Um dies zu erreichen, haben Sie zwei Möglichkeiten:
durch iterative Berechnungen:
- gehe zu Datei - Optionen - Formeln
- Aktivieren Sie „Iterative Berechnungen aktivieren“
- setze "maximale Iterationen" auf
1
- Jetzt können Sie diese Formel verwenden:
=IF(A1="","",IF(B1="",NOW(),B1))
Dadurch werden das aktuelle Datum und die aktuelle Uhrzeit in B1 eingefügt, sobald in A1 etwas eingegeben wurde, und es wird später nicht aktualisiert.
- gehe zu Datei - Optionen - Formeln
Verwenden von Makros
- Drücken Sie Alt+F11, um den VBA-Editor zu öffnen
- doppelklicken Sie auf den Namen des Arbeitsblatts, in dem Sie die Daten haben möchten. Dadurch wird das Codemodul dieses Blatts geöffnet
- Geben Sie diesen Code ein:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Target.Offset(0, 1) = Evaluate("now()")
End If
End Sub
Dieser Code fügt now() in die entsprechende Zeile der Spalte B ein, wenn eine Zelle in Spalte A ausgefüllt ist.