VBA Replace-Funktion bei Datum
#1
Hallo zusammen,

in Spalte A meiner Tabelle stehen Uhrzeiten, denen ich das Datum des heutigen Tages hinzufügen möchte. Meine Idee war bisher, das Format der Spalte A mittels
Code:
.columns("A").Numberformat = "dd.mm.yyyy hh:mm:ss"

abzuändern und im Anschluss das nun vor jeder Uhrzeit stehende Datum "00.01.1900" mittels Replace-Funktion durch das heutige Datum zu ersetzen. Aus 
Code:
"00.01.1900 08:53:12"
 soll dann
Code:
"17.07.2018 08:53:12" 
werden.

Meine Funktion hierzu:

Code:
.Columns("A").Replace What:="00.01.1900", Replacement:=Format(Date, "dd.mm.yyyy"), LookAt:=xlPart, SearchOrder:=xlByRows


Problem ist: das Makro läuft durch aber es passiert nichts. Ich hab die Aktion (Strg+H Suchen & Ersetzen) testweise mit dem Makro-Rekorder aufgezeichnet. Bei der Aufzeichnung funktioniert es, möchte ich das Makro aber danach noch einmal ausführen, passiert wieder nichts. 

Der Code aus dem Makro-Rekorder:
Code:
Sub date_replace_test()

' Datum Suchen & Ersetzen

   Selection.Replace What:="00.01.1900", Replacement:="17.07.2018", LookAt:= _
       xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
       ReplaceFormat:=False
End Sub

Über Hilfe würde ich mich sehr freuen, falls es einen eleganteren oder einfacheren Weg gibt, bin ich natürlich auch dafür offen. 

Viele Grüße, vielen Dank und schönen Abend!
dax50
Top
#2
Hallo,

bei Datum und Uhrzeit handelt es sich um Zahlen. Also muss man das Datum, eine Ganzzahl, zur Zeit, einer Nachkommazahl, hinzuaddieren.

Schreibe in eine leere Zelle das heutige Datum ( Strg+: ), und kopiere diese Zelle anschließend ( Strg+c ).
Markiere nun die Zellen mit der Zeit, anschließend Rechtsklick auf die Markierung, dann Klick auf Inhalte einfügen… .
Nun bei Vorgang die Option Addieren wählen und OK klicken.
Die entsprechende Zellformatierung hast Du ja schon richtig eingestellt.

Gruß Uwe
Top
#3
hallöchen,

es dürfte reichen, wenn Du das Datum dazu addierst Smile

Arbeitsblatt mit dem Namen 'Tabelle1'
AB
100.01.1900 07:1217.07.2018 07:12

ZelleFormel
B1=A1+HEUTE()
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#4
Big Grin 
Ugh. Wald vor lauter Bäumen...manchmal kann es so einfach sein. Addition hatte ich einfach ausgeblendet und stattdessen mit so Sachen wie =heute()&" "&A1 ausprobiert...natürlich ohne Erfolg. Selbst als in der Zelle zwei Zahlen von einem Leerzeichen getrennt standen, drängte sich mir die Addition noch nicht auf....oh well  :05:

Vielen Dank und gute Nacht!
dax50 :)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste