VBA Access to Excel

18/04/2014 - 19:00 von Jürgen Meyer | Report spam
Dafür, dass es diese Newsgroup offiziell ja gar nicht mehr gibt, ist hier ja
noch relativ viel Betrieb.

In einer Access-Prozedur habe ich geschrieben:

For i =1 to Anzahl_Accessfelder
If rs.Fields(i - 1).Type = dbText then
oDatasheet.Columns(i).NumberFormat = "@"
End if
Next i

Mit der Formatierung möchte ich erreichen, dass Felder die Zahlen enthalten,
bei der Datenübernahme von Excel immer als Text behandelt werden. Das ganze
steht am Anfang der Prozedur und sollte Immo doch nun für alle nachfolgenden
Importe gelten. Klappt aber nicht.

Ich habe in Access z.B. einen Textstring "1-2-4"
In der Excel-Tabelle erscheint das aber nun als Datum.

Erst wenn ich die Formatierung auf jede einzelne Zelle anwende, klappt es.
oDatasheet.cells(x, y).NumberFormat = "@"

Da ich viele Datensàtze und Felder anfassen muss, verlangsamt das den Export
doch erheblich.
Wo steckt der Fehler?

Gruß
Jürgen
 

Lesen sie die antworten

#1 Claus Busch
18/04/2014 - 19:11 | Warnen spam
Hallo Jürgen,

Am Fri, 18 Apr 2014 19:00:07 +0200 schrieb Jürgen Meyer:

For i =1 to Anzahl_Accessfelder
If rs.Fields(i - 1).Type = dbText then
oDatasheet.Columns(i).NumberFormat = "@"
End if
Next i



die Schreibweise mit "-" oder "/" ist die vereinfachte
Datumsschreibweise in Excel, damit du den Ziffernblock bei der Eingabe
nicht verlassen musst.
Wenn dann die Zahlen ein sinnvolles Datum ergeben, werden sie auch zum
Datum formatiert.
Abhilfe schafft, den Bereich in Excel vorab als Text zu formatieren oder
den Daten ein Hochkomma vorzusetzen.


Mit freundlichen Grüßen
Claus
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional

Ähnliche fragen