Registriert seit: 30.08.2019
Version(en): 2016
Hallo Zusammen,
ich möchte wenn Jemand in eine Zelle den Buchstaben "ü" reinschreibt, dass das heute Datum genommen wird und nebendran eingefügt wird. Es soll aber eingefroren werden, da sich ja das heute Datum immer wieder ändert.
Gibt es da eine pfiffige Lösung oder benötigt man da ein VBA-Code?
Danke euch
Registriert seit: 05.09.2017
Version(en): 2013
Hallo,
geht nur mit Makro.
Gruß Werner
Registriert seit: 26.07.2017
Version(en): 365
... aber Makro kann auch pfiffig sein
Herzliche Grüße aus dem Rheinland
Jörg
[Windows 10, Microsoft 365]
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 11.04.2014
Version(en): Office 2003 - Office 2007 - Office 365
Hallo,
bevor man grosse Makros schreibt ... Was spricht dagegen mal kurz "Strg" & "." zu drücken? Das Datum ändert sich auch nicht.
Gruß
Marcus
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
Zitat:geht nur mit Makro.
sehe ich nicht so:
Excel-Zeitstempel-Datumsstempel-per-Formel
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 11.04.2014
Version(en): Office 2003 - Office 2007 - Office 365
23.11.2019, 11:15
(Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2019, 11:18 von marose67.)
Hallo, hier mal VBA Beispiele von meiner ehemaligen Excel Seite, damit ihr sht wie umständlich das mit Makros ist:
Sehr oft kommt die folgende Frage auf: Wie kann ich ein aktuelles Datum in eine Zelle setzen, welches sich nicht am nächsten Tag ändert?
Dieses Problem kann man mit einem Excel Makro angehen. Ich werde Euch hier 3 Beispiele darstellen:
Beispiel 1:
Wir bauen einen Schalter in unser Tabellenblatt ein. Bei Betätigung soll in die letzte Zeile, der Spalte H, dass aktuelle Datum eingefügt werden. Dafür legen wir das folgende Makro hinter das Tabellenblatt:
Option Explicit
Sub Datum()
Dim Loletzte As Long
Loletzte = IIf(IsEmpty(Worksheets("Tabelle1").Range("H65536")), _
Worksheets("Tabelle1").Range("H65536").End(xlUp).Row + 1, 65536)
Worksheets("Tabelle1").Cells(Loletzte, 8) = Date
End Sub
Beispiel 2:
Immer wenn in Spalte A etwas eingetragen wird, dann soll in der zugehörigen Zelle, der Spalte B, ein Datum eingetragen werden. Auch der folgende Code gehört hinter das Tabellenblatt:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim bereich As Range
Dim zelle As Range
'Bereich und Tabellenname anpassen
Set bereich = Sheets("Tabelle1").Range("A1:A100")
For Each zelle In bereich
If Not IsEmpty(zelle) Then
zelle.Offset(0, 1).Value = Date
End If
Next
End Sub
Beispiel 3:
Wir wollen dass ein Datum immer mit einem Klick, mit der rechten Maustaste, in eine Zelle der Spalte D eingetragen wird. Hierzu müssen wir als Erstes einmal die normale Funktion der rechten Maustaste deaktivieren. Dazu fügen wir den folgenden Code im VBA Teil hinter Diese Arbeitsmappe ein:
Option Explicit
Private Sub Workbook_Open()
Application.CommandBars("Cell").Enabled = False
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Cell").Enabled = True
End Sub
Nun wechseln wir in den Makrobereich unseres Tabellenblatts, wo der Code laufen soll, und fügen dort dieses Makro ein:
Option Explicit
Private Sub Worksheet_BeforerightClick(ByVal Target As Range, Cancel As Boolean)
Dim Frage As Integer
If Not Intersect(Target, Range("D:D")) Is Nothing Then
'Range("D:D") muss auf die Spalte angepasst werden
If Target.Value = "" Then
Target.Value = Date
Else
If IsDate(Target) Then
Frage = MsgBox("soll das Datum aktualisiert werden?", vbYesNo)
If Frage = vbYes Then Target.Value = Date
If Frage = vbNo Then Exit Sub
Exit Sub
End If
Frage = MsgBox("Es steht kein Datum in der Zelle!" & _
"Soll dennoch ein Datum eingetragen werden?", vbYesNo)
If Frage = vbYes Then Target.Value = Date
If Frage = vbNo Then Exit Sub
End If
End If
End Sub
Jetzt müssen wir unsere Tabelle noch einmal abspeichern, schliessen und wieder öffnen. Wenn wir gefragt werden, ob die Makros aktiviert werden sollen, dann stimmen wir natürlich zu. Wenn Ihr jetzt in Tabelle1 mit der rechten Maustaste in eine Zelle der Spalte D klickt, dann wird dort ein Datum eingefügt.
LG
Marcus
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Registriert seit: 12.03.2016
Version(en): Excel 2003
23.11.2019, 20:23
(Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2019, 20:25 von Gast 123.)
Hallo
bei soviel kompliziertem Makro Code wird mir sogar schwindelig. snb macht das mit seinen berühmten zwei Zeilern
Ich gehe davon aus das die Zelle rechts als Datumzelle daneben gemeint ist, sonst muss man Offset umschreiben.
mfg Gast 123
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If LCase(Target) = "ü" Then
Target.Offset(0, 1) = CDate(Left(Now, 10))
End If
End Sub
Nachtrag: Code in das Tabellen Blatt einfügen wo er laufen soll.