Quantcast
Channel: Microsoft Access Forum
Viewing all articles
Browse latest Browse all 880

Export Access -> Excel Zellenformatierung wird nicht übernommen

$
0
0

Hallo,

ich habe ein großes Problem.

Ich importiere mit Access Daten aus einer Textdatei in eine Tabelle. Die Daten sind in der Textdatei in einer festgelegten Struktur und werden mittels einer Importspezifikation importiert.

Die Datenfelder in der Tabelle sind auch dementsprechend definiert.

Diese Tabelle wird dann nach Excel exportiert, dort optisch etwas verschönert und weiterverarbeitet.

Dies funktioniert auch fast alles wunderbar, allerdings ist nun ein Problem aufgetreten.

In der Tabelle sind Zahlenfelder enthalten. Manche mit, manche ohne Nachkommastellen. Beim Export der Tabelle nach Excel wird in Excel zwar mittels Rechtsklick/Felder formatieren die richtige Formatierung angezeigt, allerdings scheint diese nicht aktiv zu sein. Ich kann mit den Feldern nicht weiterrechnen. Dies ist erst möglich, wenn ich einmal ein Doppelklick in die betroffene Zelle gemacht habe. Dann ist die Zelle richtig formatiert.

Mit den Funktionen =ISTZAHL und =ISTTEXT lässt sich dieses ja auch prüfen.

Wie ist es nun möglich die Tabelle direkt so zu exportieren, dass die Zellen auch wirklich richtig formatiert sind ?

Es handelt sich teilweise um große Dateien mit mehreren tausend Datensätze. Damit fällt eine händische Anpassung weg.

[CODE]

       DoCmd.RunSavedImportExport "77sovstor"


        Set Db = Nothing

        Dim rs As DAO.Recordset, fld As DAO.Field
        Dim strSQL As String
        Set rs = CurrentDb.OpenRecordset("Select * From sovency77 Where False")
        For Each fld In rs.Fields
            If fld.Type = dbText Then
                strSQL = strSQL & ", Trim(sovency77." & fld.Name & ") As " & fld.Name
            Else
                strSQL = strSQL & ", " & fld.Name
            End If
        Next
        rs.Close
        strSQL = "Select " & Mid(strSQL, 3) & " From sovency77"
        CurrentDb.CreateQueryDef "77soven", strSQL
        DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "77soven", "E:\77\77sovstor.xls"
        DoCmd.DeleteObject acQuery, "77soven"
        Set xlAnw = CreateObject("excel.application")
        xlAnw.Visible = True
        xlAnw.Workbooks.Open FileName:="E:\77\77sovstor.XLS"
        xlAnw.Cells.Select
        xlAnw.Range("F:H;P:X;AG:AN;BE:BG;BP:BW;CN:CP;CY:DF;DW:DY;EH:EO;FF:FH;FQ:FX;GO:GQ").Select
        xlAnw.Selection.NumberFormat = "0"
        xlAnw.Cells.Select
        xlAnw.Range("Y:AF;AO:BC;BH:BO;BX:CL;CQ:CX;DG:DU;DZ:EG;EP:FD;FI:FP;FY:GM").Select
        xlAnw.Selection.NumberFormat = "0.00"
        xlAnw.Range("A:C;E:HZ").Select
            With Selection
                .HorizontalAlignment = xlRight
            End With
        xlAnw.Cells.Select
        xlAnw.Selection.Columns.AutoFit
        xlAnw.Rows("1:1").Select
        xlAnw.Selection.Interior.ColorIndex = xlNone
        xlAnw.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        xlAnw.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        xlAnw.Selection.Borders(xlEdgeLeft).LineStyle = xlNone
        xlAnw.Selection.Borders(xlEdgeTop).LineStyle = xlNone
        xlAnw.Selection.Borders(xlEdgeBottom).LineStyle = xlNone
        xlAnw.Selection.Borders(xlEdgeRight).LineStyle = xlNone
        xlAnw.Selection.Borders(xlInsideVertical).LineStyle = xlNone
        xlAnw.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

[/CODE]

Ich hoffe hier kann mir jemand weiterhelfen, da die 299 Euro für eine direkte Anfrage bei Microsoft leider nicht in Frage kommen.

gruß

Patrick


Viewing all articles
Browse latest Browse all 880


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>