Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1880to1884
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datumsformat

Datumsformat
10.05.2022 19:00:54
Thomas
Guten Abend,
Habe ein Problem mit dem Datumsformat
Ich schreibe es in dieser Form
Worksheets("Test").Cells(1,1) = Format("Worksheets("Test").Cells(1,2), "DDD")
In Zelle 1,2 steht das Datum geschrieben das in ein Wochentag umgerechnet wird und als Kürzel wie zum Beispiel, So für Sonntag. in Zelle 1,1 zurückgegeben wird.
Nun es funktioniert :-) Das Problem aber: In Office 2013 kommt die Abkürzung So ohne Punkt. Aber in Office 2016 oder 2019 wird der Kürzel So mit einem Punkt wiedergegeben also So.
Frage Gibt es etwa irgend ein anderer Schnipsel der mir den Kürzel, egal in welcher Version ich unterwegs bin, immer ohne diesen Punkt wiedergibt?
Gruss und Dank
Thomas

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datumsformat
10.05.2022 19:21:25
ralf_b
bei mir Excel 2019 gibts keinen Punkt hinter dem So. Da scheinst du noch wo anders suchen zu müssen.
AW: Datumsformat
10.05.2022 19:57:10
Thomas
Ok Danke Ralf. Dann wird es wohl nichts anderes geben als diesen Punkt nach generieren vom Wochentag zu entfernen. Wenn man auf Nummer sicher gehen will. Ich kann ja nicht beeinflussen wie andere ihren PC einstellen.
@ Thorsten, nein das hilft nicht. Weil das Datum wird in einer Zelle erzeugt. Und den Kürzel muss ich dort generieren und brauch die Umwandlung dann in einer anderen Zelle für neue Prozesse.
AW: Datumsformat
10.05.2022 19:25:43
Oberschlumpf
Hi,
wieso den Umweg über Format aus anderer Zelle kopieren + verwenden?
Versuch es doch direkt auf die Zelle bezogen mit

.NumberFormat = "ddd"
Hilfts?
Ciao
Thorsten
Anzeige
Glaube ich nicht...
10.05.2022 21:40:45
{Boris}
Hi,
...bzw. erst, wenn ich es sehe. Lad mal Deine Datei hoch - ergänzt um einen Screenshot von Deiner Ansicht (mit Punkt).
VG, Boris
AW: Glaube ich nicht...
10.05.2022 22:28:10
Thomas
Hallo Boris, sorry das ist jetzt zu kompliziert. Bei mit zu Hause arbeite ich mit Office 2013 und habe das das Skript geschrieben.
Im Büro benütze ich diese Datei auf anderen PC s mit aktuelleren Office Versionen und da hängt es mir am Schluss einfach ein Punk mit an. Ob du das glauben kannst oder nicht, so ist es nun mal.
Hier das Skript.

Sub DataD()
'KW und KT vom Datum umwandeln
Dim lez As Long
Dim kw As Integer
With Worksheets("Kalender")
lez = .Cells(.Rows.Count, 4).End(xlUp).Row '.....................................Erste freie Zeile suchen in Spalte D
If IsDate(.Cells(lez, 4).Value) = True Then '....................................Prüfen ob Zelle ein Datum hat
kw = DINKw(.Cells(lez, 4)) '.....................................................Datum für Funktion einlesen
.Cells(lez, 2).Value = kw '......................................................Kalenderwoche einfügen
.Cells(lez, 3).Value = Format(Cells(lez, 4), "DDD") '............................Kalendertag einfügen
Else
MsgBox "in diese Zelle kann nur ein Datum eingegeben werden.", vbExclamation, "Zelle mit Datumformat"
End If
End With
End Sub

Anzeige
Abgetippt oder kopiert?
10.05.2022 23:24:58
ralf_b

Format(Cells(lez, 4), "DDD")  'da solltest du den Punkt vor Cells noch setzen, falls du den Code kopiert hast.

Ideen...
11.05.2022 09:15:53
{Boris}
Hi,
...entweder hat Ralf schon Recht - durch den fehlenden Punkt referenziert der Code auf die AKTIVE Tabelle und nicht auf "Kalender" (es sei denn, Kalender ist in dem Moment das aktive Blatt) - und in der Zelle (im anderen Blatt) steht z.B. "Mi." als Text.
Alternativ schreib die Tage mal klein - also

Format(.Cells(lez, 4), "ddd")
VG, Boris
AW: Ideen...
11.05.2022 16:48:43
Thomas
Hallo Boris, nein es liegt nicht am Punkt. und auch "ddd" so geschrieben ändert an der Situation nichts.
Ich glaube ich muss für jeden Wochentag ein Schnipsel einbauen zum Beispiel:
if .Cells(lez,3) = "Sa." Then .Cells(lez,3) = "Sa"
So ist der Code dann Versionsunabhängig und läuft überall.
Anzeige
AW: Ideen...
11.05.2022 16:59:37
{Boris}
Hi,
da ich mich nicht erst seit gestern mit Excel beschäftige und auch bereits seit über 20 Jahren in diversen Foren unterwegs bin fällt es mir nach wie vor schwer zu glauben, dass Excel hier eine unerwünschte / unerwartete Darstellung mit der Format-Funktion vornimmt, dann das ist mir noch nie über den Weg gelaufen.
Daher würd ich mich nach wie vor freuen, wenn Du mal die Beispieldatei mit einem Screenshot hier hochlädst (kannst ja alles andere rausschmeißen - geht nur um das Makro mit der Formatfunktion inkl. Ergebniszelle (mit Punkt).
VG, Boris
AW: Ideen...
11.05.2022 17:45:16
Thomas
Hallo Boris,
das ist kein Problem. Mein Problem ist nur, das ich jetzt wieder zu Hause bin und mit der Version 13 Arbeite und somit funktioniert.
Dass diese Funktion auf einem anderen Rechner plötzlich ein Punkt setzt habe ich nur dadurch herausgefunden in dem ich in einer neuen Arbeitsmappe und mit der Rechner im Geschäft einfach mal das geschrieben habe: Worksheets("Tabelle1").Cells(1,3).Value = Format(.Cells(1,4),"DDD") und das Makro dann mal gestartet habe. natürlich unter Berücksichtigung dass ich Cells 1,4 ein Datum wie zum Beispiel 14.02.68 steht. Übrigens ob ddd oder DDD, mit oder ohne Punkt vor Cells, hat überhaupt keinen Einfluss. Das Resultat ist mit dem Rechner im Geschäft Mo., Di. Mi. usw. Mit dem Rechner bei mir zu Hause dann Mo, Di, Mi usw.
Meine Datei hänge ich mal an. Auf der Seite "Kalender kannst Du auf Cells ,4 ein Datum eintippen und die Zelle dann verlassen. Wenn es ohne Punkt in Celle 3 geschrieben wird löst sich ein Ereignis aus und sonst aber bleibt alles leer.
Gruss
Thomas
https://www.herber.de/bbs/user/153010.xlsm
Anzeige
kein Punkt bei mir owt
11.05.2022 18:39:54
ralf_b
AW: kein Punkt bei mir owt
11.05.2022 19:20:59
Thomas
Dann muss ich also davon ausgehen das es irgend eine Systemeinstellung im Betriebssystem ist, das hier sein Unheil kund tut. Und bleibt mir nichts anderes übrig als diese IF Verzweigung einzubauen.
die IF-Verzweigung kannst du dir sparen
11.05.2022 19:57:41
Rudi
Hallo,
einfach

cells(lef,3) = Replace(cells(lef,3),".","")
wenn kein . da ist, ist das auch nicht schädlich.
Gruß
Rudi
AW: die IF-Verzweigung kannst du dir sparen
11.05.2022 20:00:03
Thomas
Hallo Rudi, ja stimmt, daran dachte ich jetzt nicht. Probiere es mal einzubauen... Danke!
bei mir auch kein .
11.05.2022 19:33:33
Rudi
AW: bei mir auch kein .
11.05.2022 19:56:37
Thomas
Ich staune schon irgendwie das niemand so ein Problem feststellen kann. Oder zumindest erahnen könnte an welcher Schraube da gedreht werden sollte und nur bei mir dieses Problem herrscht. Weder schreibe ich Software selber noch entwickle ich die Hardware die benützt wird. Das finde ich mal echt komisch. Ich muss wohl ein Außerirdischer sein der jetzt aber die IF Verzweigung endgültig einbaut. Somit funktioniert es dann wenigstens mit dem Nichtwissen wieso bei mir in unterschiedlichen Versionen ein Punkt geprintet wird und bei anderen dann wieder nicht.
Danke euch trotzdem, lösen kann man halt nicht alles.
Anzeige
Mich würde nach wie vor...
12.05.2022 00:03:13
{Boris}
Hi,
...Dein Screenshot - gepaart mit dem exakt verwendeten VBA-Code (der diesen Punkt produziert) inkl. Deiner Mappe - interessieren.
Wie Du siehst, hat das hier noch niemand so beobachtet - und Ralf und Rudi sind ultralangjährige Excel-Nutzer - genau wie ich.
Solche "Bugs" - so es denn einer ist - interessieren uns halt, da wir ständig und gerne dazulernen!
VG, Boris
Google sheets....
12.05.2022 07:06:17
ralf_b
.....erzeugt den Punkt und das ist nicht abstellbar. hab ich grad recherchiert und ausprobiert.
Das ist doch mal eine Erkenntnis! ...oT
12.05.2022 09:48:48
{Boris}
VG, Boris
AW: Das ist doch mal eine Erkenntnis! ...oT
15.05.2022 11:13:15
Thomas
Hallo Boris, dann kommt das also vom Betriebssystem her? Und kann nicht geändert werden?
ich habe es jetzt im Skript so gemacht dass dieser Punkt einfach entfernt wird, weil für mich ist es so eine Art Barrierefreiheit, es läuft dann überall, egal in welchen Betriebssystemen und Versionen, immer gleich. Und diese Sicherheit die brauche ich eben.
Staunen tu ich aber denn noch, dass man solche Sachen in zentralen Betriebssystemen einfach plötzlich so ändert (das binäre Zahlensystem ändert sich ja nie, das ist eine Statische Angelegenheit. So etwas kann ja nicht wirklich nur mir zum Verhängnis werden oder sehe ich das falsch?
Anzeige
eine Erkenntnis ja.. aber
15.05.2022 15:09:35
ralf_b
.... das geht hier nicht um's Betriebssystem bei der Erkenntnis. Googlesheets hat eine eigene Scriptsprache bzw. nutzt Javascript. Wie Google Formeln umsetzt ist deren Sache. Das hat mit VBA (Microsoft) nichts zu tun. Wo bei deinem System hier anzusetzen ist, mußt du selbst herausfinden, da du mit den Informationen ja etwas geizig bist. Solange es sich nicht noch wo anders auswirkt ,kommst du mit dem kleinen Trick (Punkt entfernen) auch zum Ziel.
gruß
rb
AW: eine Erkenntnis ja.. aber
15.05.2022 17:03:57
Thomas
Also mit dem kleinen Trick bin ich zum Ziel gekommen. Vorübergehend reicht es und wenn ich mal mehr Zeit habe werde ich mich dem Thema nochmal widmen.
Habe zu diesem Problem nackte Skripts reingestellt, eine Datei im Follen Umfang zur Einsichtnahme. Bin etwas Sprachlos und weiss echt nicht was ich noch mehr tun könnte um den Status "geiz" wieder los zu werden. :-(
Gruss
Thomas
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige