Excel heute() , unterdrücken von Aktualisierung
Hallo zusammen,
ich habe hier ein kleines Problem, wo auch Google mir nicht weiterhelfen kann.
Ich habe hier ca. 400 Excel-Worksheets welche dummerweise das Datumsfeld mit =heute() ausgeben.
Das älteste Sheet ist von 2020.
Ich müsste nun, jedes Sheet öffnen, und als PDF ausgeben, allerdings habe ich das Problem, dass beim öffnen das Datum (natürlich) auf den tagesaktuellen Wert aktualisiert wird.
Wie kann ich dies verhindern, oder besser gesagt, wie kann ich aus den Sheets jew. ein PDF erzeugen, welches das Datum, an dem das Sheet erstellt/gespeichert wurde, beinhaltet und NICHT das tagesaktuelle, welches ja beim Öffnen gesetzt wird?
Gelesen habe ich, dass man das wohl mit STRG + . beim Öffnen erreichen kann, aber irgendwie funktioniert das auch nicht.
Vielleicht hat jemand eine praktische Idee ? Wie erwähnt, es sind ca. 400 betreffende Worksheets.
Besten Dank und Grüße,
Jan
ich habe hier ein kleines Problem, wo auch Google mir nicht weiterhelfen kann.
Ich habe hier ca. 400 Excel-Worksheets welche dummerweise das Datumsfeld mit =heute() ausgeben.
Das älteste Sheet ist von 2020.
Ich müsste nun, jedes Sheet öffnen, und als PDF ausgeben, allerdings habe ich das Problem, dass beim öffnen das Datum (natürlich) auf den tagesaktuellen Wert aktualisiert wird.
Wie kann ich dies verhindern, oder besser gesagt, wie kann ich aus den Sheets jew. ein PDF erzeugen, welches das Datum, an dem das Sheet erstellt/gespeichert wurde, beinhaltet und NICHT das tagesaktuelle, welches ja beim Öffnen gesetzt wird?
Gelesen habe ich, dass man das wohl mit STRG + . beim Öffnen erreichen kann, aber irgendwie funktioniert das auch nicht.
Vielleicht hat jemand eine praktische Idee ? Wie erwähnt, es sind ca. 400 betreffende Worksheets.
Besten Dank und Grüße,
Jan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 671497
Url: https://administrator.de/forum/excel-heute-unterdruecken-von-aktualisierung-671497.html
Ausgedruckt am: 21.02.2025 um 05:02 Uhr
13 Kommentare
Neuester Kommentar
Das Makro funktioniert nicht?
Ist aus: https://www.herber.de/forum/archiv/352to356/353798_Heute_Aktualisierung_ ...
Muss halt in der Range angepasst werden.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
If Intersect(Range("L1:L50"), Target) Is Nothing Then Exit Sub
If Target.Cells.Count > 1 Then Exit Sub
If Target.Value <> "" Then
If Cells(Target.Row, 1).Value = "" Then Cells(Target.Row, 1).Value = Date
End If
End Sub
Muss halt in der Range angepasst werden.
Probiere es mal damit: https://devblogs.microsoft.com/scripting/save-a-microsoft-excel-workbook ...
Vielleicht wird dort das Feld nicht aktualisiert.
Vielleicht wird dort das Feld nicht aktualisiert.
Es sind 400 verschiedene Dateien, nicht 400 Blätter in einer !
Alle Zellen mit heute() Formel in deren Wert umwandeln über alle *.xlsx Arbeitsmappen eines Ordners rekursiv und in all dessen Sheets mittels Powershell Skript automatisiert z.B. so umgesetzt:# ImportExcel Modul installieren (muss nur einmal gemacht werden)
Install-Module ImportExcel
# quellordner
$source = 'D:\Ordner'
# alle *.xlsx rekursiv im Ordner bearbeiten
foreach($file in Get-ChildItem -Path $source -File -Filter *.xlsx -Recurse){
# Excel Workbook als Objekt importieren
$xl = Open-ExcelPackage -Path $file.Fullname
# Zellen mit Heute() Formel in den Wert umwandeln der seit dem letzten Speichern in der Zelle steht
$xl.workbook.worksheets.cells | ? Formula -like '*today()*' | %{$_.Value = $_.Value}
# workbook speichern
$xl.save()
}
Die Lösung von @mediodia ist die einzig Sinnvolle, wenn Du wirklich 400 Dateien anfassen musst.
Das Skript kannst Du ja auch anpassen, wenn Du einen anderen Wert hinterlegen willst.
Das Skript kannst Du ja auch anpassen, wenn Du einen anderen Wert hinterlegen willst.
Zitat von @japper:
Danke für die Anregungen,
ich werde das heute Abend mal testen, wenn ich die Dateien wieder im Zugriff habe.
Ich werde berichten ;)
Gruß
Jan
Danke für die Anregungen,
ich werde das heute Abend mal testen, wenn ich die Dateien wieder im Zugriff habe.
Ich werde berichten ;)
Gruß
Jan
Was steht eigentlich in diesen Dateien drin?
Ich hoffe, das es keine Historien Daten zu Gegenständen, Assets und Co. ist?!?
Hallo,
Gruss,
Peter
Zitat von @japper:
ich werde das heute Abend mal testen, wenn ich die Dateien wieder im Zugriff habe.
Deine Excel Dateien haben alle im Dateisystem (OS) jeweils 3 Datumsfelder welche je nach Verwendung geändert werden. Die haben nichts mit dein heute() zu tun. Da könntest du auch das passende Datum finden, aber Bedenke das das Kopieren der Dateien auf andere Datenträger auch das Datum ändern tut. Abhilfe kann z.B. das zurück kopieren bzw. wiederherstellen bei dir aus der Datensicherung sein.ich werde das heute Abend mal testen, wenn ich die Dateien wieder im Zugriff habe.
Gruss,
Peter
Zitat von @japper:
Moin,
das hat perfekt funktioniert, ich musste im Script nur "Import-ExcelPackage" zu "Open-ExcelPackage" ändern, danach hat das Script genau das gemacht, was es tuen sollte.
👍Moin,
das hat perfekt funktioniert, ich musste im Script nur "Import-ExcelPackage" zu "Open-ExcelPackage" ändern, danach hat das Script genau das gemacht, was es tuen sollte.
Upsi, war ein Copy n Paste Fehler, sorry ist oben korrigiert.