none
Aus Access DB eine Excel Datei mit bestimmten Spaltenformaten erstellen

    Frage

  • Salü alle zusammen

    Ich möchte Daten aus einer Access Datenbank in eine Excel Datei exportieren. Dabei möchte ich, dass bestimmte Spalten ein bestimmtes Zahlenformat (0.000) haben oder eine bestimmte Spaltenbreite (20pt).

    Folgenden Code habe ich eingesetzt:

    'SQL aus bestehender Abfrage erstellen
    strSQL = CurrentDb.QueryDefs("abfExportVorlage").SQL
    
    ' Semikolon abschneiden (-> Abfrage-Code darf kein Semikolon enthalten!!)
    strSQL = Left(strSQL, InStr(strSQL, ";") - 1)
    
    ' Kriterium hinzufügen
    strSQL = strSQL & vFilter
    
    'Temporäre Abfrage erstellen
    qryName = "tmp_" & Format(Now, "yymmddhhnnss")
    CurrentDb.CreateQueryDef qryName, strSQL
    
    ' Abfrage in Datei exportieren
    DoCmd.OutputTo acOutputQuery, qryName, acFormatXLS, vDateiName
    
    'Temporär erstellte Abrage wieder löschen
    CurrentDb.QueryDefs.Delete (qryName)
    

    Dabei glaubte ich, dass ich aus der Vorlage die Formate ableiten könnte. Leider geht das aber nicht.

    Wie bekomme ich es hin, dass die 3. Spalte in der Excel Datei das Zahlenformat 0.000 hat und eine Spaltenbreite von 20 Punkten?

    Vielen Dank für jegliche Hinweise

    Mittwoch, 13. August 2014 16:26

Antworten

Alle Antworten

  • Am 13.08.2014 schrieb Sabrina Sanders:

    Ich möchte Daten aus einer Access Datenbank in eine Excel Datei exportieren. Dabei möchte ich, dass bestimmte Spalten ein bestimmtes Zahlenformat (0.000) haben oder eine bestimmte Spaltenbreite (20pt).

    Wie bekomme ich es hin, dass die 3. Spalte in der Excel Datei das Zahlenformat 0.000 hat und eine Spaltenbreite von 20 Punkten?

    Das darfst Du zu Fuß (VBA) machen. Nach dem Export die Datei wieder
    öffnen und das Format der einzelnen Bereiche/Spalten/Zellen anpassen.
    Diese Postings sollten dabei helfen:
    http://www.office-loesung.de/ftopic71179_0_0_asc.php
    http://stackoverflow.com/questions/14400818/formatting-outputted-excel-files-from-access-using-vba

    Wenn Du die einzelnen speziellen Befehle nicht kennst, nutze den
    Makro-Recorder von Excel. Dann den Code zum Teil in Access übernehmen.


    Servus
    Winfried

    Gruppenrichtlinien
    WSUS Package Publisher
    HowTos zum WSUS Package Publisher
    NNTP-Bridge für MS-Foren

    Mittwoch, 13. August 2014 16:35
  • Wow, ich bin platt. Hey, so schnell habe ich ja noch nie eine Antwort bekommen. Hast Du geschrieben bevor ich gesendet habe? Du bist für mich der Schatz des Tages. Vielen lieben Dank.

    Und es funkktioniert! Ich bin überglücklich und gehe sogleich nachhause. Danke vielmals.

    Hier noch eine kleine Ergänzung für jene nach mir...

        With xlSheet
            ' hier kannst du beliebige Excelfunktionen einbauen
            '.UsedRange.AutoFormat Format:=xlRangeAutoFormatSimple, Number:=True, _
            '                      Font:=True, Alignment:=True, Border:=True, _
            '                      Pattern:=True, Width:=True
            .Rows("1:1").Font.Bold = True
            .Columns("K:M").ColumnWidth = 9.43
            .Columns("N:N").NumberFormat = "0.000"
        End With
    

    Mittwoch, 13. August 2014 16:55
  • Am 13.08.2014 schrieb Sabrina Sanders:

    Wow, ich bin platt. Hey, so schnell habe ich ja noch nie eine Antwort bekommen. Hast Du geschrieben bevor ich gesendet habe? Du bist für mich der Schatz des Tages. Vielen lieben Dank.

    Und es funkktioniert! Ich bin überglücklich und gehe sogleich nachhause. Danke vielmals.

    Bitte, gern geschehen. ;)


    Servus
    Winfried

    Gruppenrichtlinien
    WSUS Package Publisher
    HowTos zum WSUS Package Publisher
    NNTP-Bridge für MS-Foren

    Donnerstag, 14. August 2014 04:50