Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Access-Datenexport in formatierte Excel-Tabelle

Begonnen von Stefan71, Januar 25, 2012, 21:19:38

⏪ vorheriges - nächstes ⏩

Stefan71

Hallo zusammen,

ich stehe öfters vor der Aufgabe, eine größere Zahl von in Access 2003 aufbereitete Daten aus verschiedenen Abfragen/Tabellen nach Excel 2003 (eine neuere Office-Version steht mir derzeit nicht zur Verfügung; ist in einer Terminalserver-Umgebung) exportieren zu müssen. Manchmal muss ich den Export auch mehrmals durchführen, wenn ein neuer Datenstand in meiner Access-DB vorliegt.

Ich habe mir deswegen ein Formular entwickelt, das die verfügbaren Datenquellen der aktuellen Datenbank nach einem Filterkriterium eingegrenzt auflistet und diese per Knopfdruck in eine Serie von Registerblättern einer Excel-Arbeitsmappe schreibt.

Problem dabei ist, dass die Empfänger der Excel-Datei gerne schön formatierte ("druckoptimierte") Tabellen hätten, die ich auch bereitstellen möchte, ich aber keine Lust habe, wiederholt stumpfsinnige Formatierorgien hinter mich zu bringen, wenn das Exportieren schon automatisch läuft.

Jetzt versuche ich noch, auch das Formatieren zu automatisieren. Zwei Wege gibt es:

1. Export mittels DoCmdTransferSpreadsheet und Formatieren über ein mit CreateObject im Hintergrund gestartetes Excel
2. Kopieren einer XLS-Datei als Vorlage und feld-/zellenweises Kopieren der Daten aus der Access-Datenquelle in die Excel-Instanz

Für beide Vorgehensweisen kann man Implementierungshilfen im Internet finden. Ich habe sie auch umgesetzt:

Bei Lösung 1 kann ich nicht mit einer manuell formatierten Vorlagen arbeiten und bekomme nur einfach Dinge hin (z.B. optimale Seitenbreite, Kopf-/Fusszeilen einstellen, Einpassen auf Seite, Blattränder, ...).
Lösung 2 funktioniert auch mit "handoptimierten Vorlagen" (z.B. in der Vorlage ausgeblendete Spalten, die Daten erhalten sollen), hat aber Probleme, wenn es zu viele Daten sind. Die Laufzeit ist dann zu lang und Access bricht ggf. auch mit kryptischer Fehlermeldung ab.

Als letzten Ausweg habe ich mir überlegt, erst mal mit Lösung 1 zu arbeiten, um eine neue Excel-Datei "im Rohformat" zu erstellen, und die Formatierung dann nacheinander für alle Registerblätter irgendwie per "Selection.PasteSpecial Paste:=xlPasteFormats" aus der Vorlagen-Exceldatei zu übertragen.

Ich bekomme das bestimmt auch noch irgendwie hin. Nur ist mir bei all der Tüftelei die Sinnfrage gekommen: Um mein Problem zu lösen, quäle ich mich schon eine Weile rum. Es wird nicht mehr ewig dauern und ich werde auch am Arbeitsplatz mal eine aktuelle Office-Version zur Verfügung haben.

Hat ein aktuelles Access/Excel-Gespann eine bessere Unterstützung für den Datenexport in eine schon formatierte Tabelle?

Vielleicht hat einer von Euch da einen Tipp für mich?

Ich danke auf jeden Fall fürs Lesen.

Viele Grüße, Stefan