Registriert seit: 04.05.2016
Version(en): 2003
31.12.2019, 17:51
(Dieser Beitrag wurde zuletzt bearbeitet: 31.12.2019, 17:51 von Andrea.)
Hallo,
wegen eines neuen Computers musste ich ein neues Windows installieren und natürlich auch Excel. Jetzt sind bei allen Tabellen die Datumsfelder falsch!
Auf dem alten PC sieht es so aus (Bearbeiten aktiv)
Das Zellenformat steht auf Datum *14.03.2001
Auf dem neuen PC sieht es so aus (Bearbeiten aktiv)
Das Zellenformat steht auf Datum *14
Das Format "*14.03.2001" scheint es nicht mehr zu geben. Ich kann auf "Benutzerdefiniert TT.MM.JJJJ" umstellen, dann wird es richtig angezeigt. Aber es geht hier um einige hundert Tabellen, in denen das überall so ist. Manuell kaum zu schaffen. Habe auch noch ein Leben außerhalb des PC.
Was kann ich tun?
Die Excel-Version ist bei beiden PCs 11.8169.8179.
LG
Andrea
Registriert seit: 12.04.2014
Version(en): Office 365
Moin
Kontrolliere mal die Regionaleinstellungen in Windows.
Wir sehen uns!
... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:1 Nutzer sagt Danke an shift-del für diesen Beitrag 28
• Andrea
Registriert seit: 04.05.2016
Version(en): 2003
(31.12.2019, 18:20)shift-del schrieb: Kontrolliere mal die Regionaleinstellungen in Windows.
Danke. Die hatte ich geändert, damit der Wochentag in der Taskleiste angezeigt ist. Jetzt erstmal wieder herausgenommen, damit Excel die Zellen korrekt anzeigt.
Gibt es ein halbfertiges Skript, dass bei allen Tabellen jeweils alle Zellen mit Datumsformat *14.03.2001 ändert in TT.MM.JJJJ?
Dieses dürfte unabhängig sein von den Windows-Einstellungen, oder?
LG
Andrea
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Andrea,
so ein Script kann je nach Datenmenge recht lange laufen. es müsste wahrscheinlich jede Zelle im benutzten Bereich auf das enthaltene Format geprüft werden …
Zuweilen ist es einfacher, die betreffenden Zellen eines Blattes zu formatieren und dann mit dem Pinsel auf die anderen Blätter zu übertragen, falls dort die gleichen Zellen betroffen sind.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 04.05.2016
Version(en): 2003
(02.01.2020, 19:54)schauan schrieb: so ein Script kann je nach Datenmenge recht lange laufen. es müsste wahrscheinlich jede Zelle im benutzten Bereich auf das enthaltene Format geprüft werden …
Zuweilen ist es einfacher, die betreffenden Zellen eines Blattes zu formatieren und dann mit dem Pinsel auf die anderen Blätter zu übertragen
Mir ist es lieber, der PC rattert über Nacht als das ich den ganzen Tag Formate kopiere. Wie gesagt, es sind ein paar hundert Tabellen...
LG
Andrea
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Andrea,
probiere dieses Makro bitte mal an einem Blatt aus (vorher Sicherheitskopie anlegen) Das Datum ist fest oder als Formel ermittelt?
Code:
Option Explicit
Sub DatumWandeln()
'Variablendeklaration
Dim zelle As Range
'Schleife ueber alle Zellen mit konstanten Einträgen / Zahlen (Daten sind zahlen)
For Each zelle In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants, xlNumbers)
'Format ändern bei bestimmtem Datumsformat
If zelle.NumberFormat = "m/d/yyyy" Then zelle.NumberFormat = "dd/mm/yyyy"
'Ende Schleife ueber alle Zellen mit konstanten Einträgen / Zahlen (Daten sind zahlen)
Next
End Sub
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Moin!
Ich hole das Thema noch mal hoch.
(31.12.2019, 17:51)Andrea schrieb: Das Format "*14.03.2001" scheint es nicht mehr zu geben.
Kann ich mit meiner neuesten Excel365-Version nicht bestätigen!
Ich würde es (aus Performancegründen) mittels Array lösen.
Teste mal:
Sub DatFormat()
Dim arr As Variant
Dim Zeile&, Spalte%
arr = Cells(1).CurrentRegion
For Zeile = 1 To Ubound(arr, 1)
For Spalte = 1 To Ubound(arr, 2)
If IsDate(arr(Zeile, Spalte)) Then
arr(Zeile, Spalte) = CDate(arr(Zeile, Spalte))
End If
Next
Next
Cells(1).CurrentRegion = arr
End Sub
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Moin Ralf,
Hauptsache, es ist nicht nur Spalte A gefüllt
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Hilf mir auf die Sprünge, André!
Denn ich kann Dir nicht ganz folgen.
Aber ist ja auch noch früh.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Moin Ralf,
wenn nur Spalte A Daten enthält, läuft Ubound(arr, 1) auf einen Fehler.
Aber die Wahrscheinlichkeit, dass hier nur Spalte A Daten enthält, geht eh gegen 0
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)