Excel. Datum aktualisieren per Button

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich würde ich dies auch so machen wie st0neface.
Der andere Vorschlag mit dem Datum in eine Zelle einfügen, dann unsichtbar machen, und dann doch noch extra ein Makro mit Kopierfunktion zu erstellen macht keinen Sinn und ist unnötig.
.
Einfach dieses Makro hier datum genannt, oder den Code von stOneface :
Sub datum()
Range("A1").Select
ActiveCell = Date
End Sub

das Makro dem gewünschten Button zuweisen und fertig, ist die Zelle des Datums nicht A1, einach im Code die richtige Zelle eintragen wo das Datum steht.

Wow, danke für das Sternchen, aber dies hätte eigentlich stOnface verdient, der war mit der Antwort ein paar Stunden früher als ich.
.
Aber will ja nicht undankbar sein, von daher Danke :-)

0
@st0neface

Die Vorschläge funktionieren alle. So, jetzt hat auch jeder einen Daumen...

0

ich würde auf einer beliebigen Zelle das aktuelle Datum einfügen =heute(), dieses unsichtbar machen und im Makro eine Kopierfunktion dieser Zelle schreiben

Von hinten durch die Brust ins Auge... ;o)

0
@arminho1

... danke - man muss nicht alles wissen, aber wissen wie man sich helfen kann ;)

0
@LadyBibi

Ist auch ok. Ich habe ja auch nicht geschrieben, dass es falsch ist. Bevor man es gar nicht hinbekommt, dann lieber so. :-)

0

Anderer Vorschlag:

  1. Klicke im Visual-Basic-Editor im Projektexplorer doppelt auf das betreffende Tabellenblatt
  2. Wähle rechts oben über der weißen Fläche aus der Auswahlliste "Worksheet" aus.
  3. Wähle rechts daneben aus der Auswahlliste "Change" aus.
  4. Unten steht jetzt folgender Code:

    Private Sub Worksheet_Change(ByVal Target As Range)
    
    
    End Sub
    

Zwischen Private... und ...End Sub gibst du ein: Range("A1").value=Now oder Range("A1").Value = Format(Now, "dd.mm.yyyy"). Letzteres, wenn du nur das Datum willst.

Das sieht dann insgesamt so aus:

Private Sub Worksheet_Change(ByVal Target As Range)
    Range("A1").Value = Format(Now, "dd.mm.yyyy")
End Sub

Nun müssen die Benutzer nicht mehr einen Button klicken, sondern sobald etwas geändert wird, wird automatisch das Tagesdatum in die Zelle A1 geschrieben.

Diese Lösung gefällt mir sehr gut, ist es möglich dies noch zu verfeinern, sodass die Zelle nur dann aktualisiert wird, wenn tatsächlich irgendwo eine Eingabe vorgenommen geändert wird ?

0
@Leon97531

Hmm, das Change-Ereignis wird nur dann initiiert, wenn eine Eingabe/Änderung gemacht wird. Geht deine Frage in die Richtung, dass bei reinen Änderungen (also nicht Neueingabe) nichts passieren soll? Ansonsten müsste es das eigentlich schon sein...

0
@arminho1

Hmm, im Moment mit obigen Code erfolgt eine Aktualisierung des Datums in A1 jedesmal dann, wenn irgendeine Zelle in der Arbeitsmappe ausgewählt wird.
Meine Frage geht dahin, dass erst bei Eingabe oder Änderung in einer Zelle eine Aktualisierung stattfindet.
.
Kurz: Jemand öffnet die Datei, klickt in eine Zelle und es erfolgt eine Aktualisierung des Datums.
Ich möchte dies aber nicht, sondern erst nachdem tatsächlich eine Änderung in einer Zelle vorgenommen wurde.

0
@Leon97531

Hab's gerade erst gelesen. Das was du beschreibst passiert eigentlich bei SelectionChange während Change tatsächlich nur dann greift, wenn etwas geändert wird. Change greift definitiv nicht bei bloßem Auswählen einer Zelle (einfacher Klick). Allerdings musst du aufpassen. Doppelklick in eine Zelle und anschließender Return bewirkt auch das Change-Ereignis (wahrscheinlich meinst du das). Aus meiner Sicht hat man keine Chance auch das noch abzufangen, denn es gibt keine Eigenschaft OldValue wie in Access, so dass man den alten gegen den neuen Wert vergleichen könnte... Aber mal ehrlich: wer klickt schon doppelt in eine Zelle, ohne sie ändern zu wollen?

0
@arminho1

Verdammt, hatte tatsächlich SelectionChange ausgewählt, Schande über mein Haupt :))
.
Funktioniert einwandfrei, Danke dir.

0

Was möchtest Du wissen?