Hallo, wenn ich in Zelle A1, A2 usw. irgendein Zeichen eingebe, soll in der Zelle daneben (B1, B2 usw.) das Datum und wieder eine daneben die Uhrzeit einfügen?

...komplette Frage anzeigen

2 Antworten

Spalte B:

=WENN(A1<>"";HEUTE();"")

Spalte C

=WENN(A1<>"";JETZT();"")

Spalte C musst du dann noch so formatieren, dass nur die Uhrzeit angezeigt wird.

Es ändert sich dann aber immer das Datum oder Uhrzeit auf den aktuellen Stand bei Änderung in der Arbeitsmappe oder wenn diese geschlossen und geöffnet wird.

Um die Uhrzeit / Datum zu fixieren muss dies im Anschluss bearbeitet werden (F2+F9+Enter) oder das ganze über ein Makro realisiert werden.

2
@Antitroll1234

@Dryadravisher: vielen Dank, das war genau so wie ich es wollte, wenn mir jetzt noch jemand das mit den Makros erklären könnte, dass die Uhrzeit fixiert bleibt, dann wäre ich vorerst wunschlos glücklich :-) danke auch an die anderen, das mit den Shortcuts ist auch gut zu wissen!

0

Vllt ist es einfacher, das nicht vollautomatisch, sondern über Shortcuts zu machen:

Nach Eingabe in A

mit → B auswählen, Strg+. drücken, das ergibt das heutige Datum als Fixwert, dann erneut

mit → C auswählen und Strg+: drücken (also Strg+Umsch+.), das ergibt die Jetzt-Uhrzeit als Fixum.

Zellen ggf vorher oder nachher wunschgemäß formatieren (ganze Spalten).

Geht sehr schnell und dürfte mit einiger Übung jedem Makro (das ja erst geschrieben, dann aufgerufen werden muss und dann auch noch kurz zum Ablaufen braucht) überlegen sein.


Folgenden Code ins Modulblatt der gewünschten Tabelle setzen (geh aufs Kontextmenü Deines Tabellenreiters und wähle Code anzeigen, unterhalb ggf vorhandener Optionen einkopieren):

Sub Worksheet_change(ByVal Target As Range)

'Sub Datum_Uhrzeit_daneben_setzen(ByVal Target As Range) 'wäre für Knopfzuweisung

if not intersect(Target, Columns(1)) is nothing then

if Target <> "" then Target.offset(0, 1) = date: Target.offset(0, 2) = time

end if

end sub

Spalten B und C wunschgemäß formatieren.

Es treten aber zT unerwartete Effekte auf: Löschst Du einen Eintrag, indem Du eine leere Zelle aus A nach oben kopierst, tritt ein Laufzeitfehler auf, evtl auch noch in anderen Situationen. Der Laufzeitfehler wird im Code (gelb, je nach Einstellung) markiert. Du bekommst ihn (ggf.nach Korrektur) wieder weg, indem Du den Knopf mit dem blauen Viereck (xl2010) drückst.

Und natürlich: Datei als xlsm speichern!

PS: das zweite if ist die einzeilige Variante, die kein End if braucht.

Und die Knopfvariante hab ich jetzt nicht mehr ausprobiert.

Das if not intersect() is nothing verhindert, dass ein Fehler auftritt, wenn zB ein Objekt ausgewählt wurde.

1
@Iamiam

Vielen, vielen Dank! Echt super es funktioniert einwandfrei :-)

0

Was möchtest Du wissen?