Gegenwärtig bin ich mit Problemen konfrontiert, die mich sehr beunruhigen. Ich hoffe, dass mir jemand helfen kann. Ich arbeite für große Unternehmen, wo sowohl Office 2007 (32bit) als auch Office 2010 (64bit) verwendet werden. Makros zu schreiben, um durch die ganze Firma kompatibel zu sein, war eine schwierige Aufgabe für mich (ich habe noch nie in VBA programmiert - eigentlich hat mir dieses Forum sehr geholfen). Meine Aufgabe besteht darin, eine große Tabelle in einem gemeinsamen Excel-Blatt zu verwalten. Es gibt mehrere Makros und mehrere Benutzerformen. Jetzt werde ich das Problem kurz entschlüsseln: Blatt enthält zwei Spalten mit Datumsformat (Startdatum und Schliessdatum). Beide Werte werden in die Textfelder des Spaltenformulars importiert (commandbutton lunches MsCal -exported to class-), die diese Textfelder mit Datum füllen. Was ich einfach brauche, ist das Datumsformat als mm/dd/yyyy in beiden Spalten, um Filterung und andere Operationen durchzuführen. Wenn diese Werte von einem Worker aktualisiert werden, der eine andere Lokalisierung als Englisch verwendet, wird das US-Datum als dd.mm.yyyy eingegeben. Das macht eine korrekte Filterung basierend auf dem Datum unmöglich. Ich habe versucht, die Formatierung zu ändern durch:Gleiches Datumsformat über mehrere Lokalisierungen
UserForm1.TextBox10.Value = Format(Calendar1.Value, "mm/dd/yyyy")
aber dieses Stück Code missverstehen sich irgendwie. Bei manchen Geräten funktioniert es, bei einigen funktioniert es nicht. Und das gibt mir Kopfschmerzen. Wie soll ich jetzt vorgehen? Gibt es eine Möglichkeit, Excel zu zwingen, das gleiche Datumsformat im Arbeitsblatt zu verwenden und Lokalisierungseinstellungen in Windows zu ignorieren? Mitarbeiter möchten die Lokalisierung nicht in Englisch ändern, da sie entweder an ihr Format gewöhnt sind oder es für andere Anwendungen benötigen. Gibt es eine Möglichkeit, die Lokalisierung nur vorübergehend zu ändern, wenn sich dieses Blatt öffnet? Jeder Rat wird geschätzt. Vielen Dank im Voraus Peter
Ein Datum in einer Excel-Zelle sollte ein Datum und keine Zeichenfolge sein. Wenn Sie das Zellenformat auf ein Datumsformat setzen, dem ein Sternchen * vorangestellt ist (normalerweise die ersten beiden Optionen in der Option Zellen/Datum formatieren), ändert sich das Datum in die lokale Datumsformatierung des Benutzers. Die zugrunde liegende Zelle ist jedoch immer noch eine Datums-Seriennummer, die unabhängig vom Format verwendet werden sollte. Wenn Sie Daten in ein Textfeld eingeben oder Zeichenfolgen in Datumsangaben konvertieren möchten, ist dies eine andere Angelegenheit, und es ist eine zusätzliche Behandlung erforderlich. Siehe http://stackoverflow.com/questions/12495504/how-to-convert-a-string-into-date/12497237#12497237 – user3357963
@PeterT. In der Tabelle wird die Datumsspalte als Text oder als Datum formatiert? – CaBieberach
Als Datum formatiert – PeterT