Beitrag aus SmartTools Access Weekly
Zahlen bei der Übergabe nach Excel korrekt formatieren
Access 365 2024 2021 2019 2016 2013 2010
FRAGE Über eine VBA-Routine in Access schreibe ich die per Recordset selektierten Daten einer Abfrage mit "CopyFromRecordset" ab Zeile "A11" in eine Excel-Arbeitsmappe. Zum Beispiel: ws.Range("A11").CopyFromRecordset rs
. In der Abfrage sind die Daten als Zahlen formatiert. Dennoch wird ein Teil der Werte in Excel im Datumsformat übernommen. Wie erreiche eine korrekte Formatierung der Daten in Excel?
S. Berg
ANTWORT Excel prüft die Inhalte beim Einfügen und interpretiert einige Werte als Datum. Excel speichert auch Datumswerte als Zahlen, in denen bitweise kodiert Tag, Monat, Jahr, Stunde, Minute und Sekunde enthalten sind. Lässt sich also eine Zahl als gültiges Datum interpretieren, setzt Excel das Datumsformat für die betreffende Zelle. Um das Problem zu lösen, stellen Sie das Format der Zellen nach der Ausführung von "CopyFromRecordset" zum Beispiel folgendermaßen explizit ein:
ws.Range("A11:J26").NumberFormat = "0.00"
Dabei passen Sie die Adressierung "A11:J26" auf den gewünschten Bereich an.