Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Excel export Hilfestellung

Begonnen von Dick_Knuckles, Februar 29, 2016, 09:48:03

⏪ vorheriges - nächstes ⏩

Dick_Knuckles

Hallo da ich absoluter Access und VBA Anfänger bin und ich in einer Frage nicht weiterkomme wende ich mich an euch in der Hoffnung einen Schubs in die richtige Richtung / eine Hilfestellung zu bekommen um meine Problem zu lösen.

Ich habe im Access ein Formular gebastelt in dem man über zwei Listboxen und ein Kombinationsfeld etwas auswählen kann und dieses möchte ich nach Excel exportieren aber anders sortiert als in Access hinterlegt.
Das funktioniert auch soweit einigermaßen aber beim Export in die Excel Tabelle habe ich mehrere Probleme. Da ich dies schlecht beschreiben kann habe ich mal auf einem Screenshot eingezeichnet was ich bekomme und wie ich es gerne hätte.

Es geht um die Abfallmenge in den Landkreisen in BaWü ich ich wollte die Exceltabelle so haben, dass die Landkreise vorne nur einmal stehen und die dazugehörigen Daten in Jahres-spalten dahinter.
Dabei ist die Anzahl der Landkreise und die Anzahl der Jahre variabel über eine Listbox mit Multiselect möglich.

Mein bisheriger VBA-Code für die Excel Spalten / Zeilen lautet


rstExportDB.MoveFirst
' Recordset durchlaufen
i = 3
Do While Not rstExportDB.EOF
    With rstExportDB
        xlsheet.Cells(i, 1) = .Fields("Verwaltungseinheit")
        xlsheet.Cells(i, 2) = .Fields("Art")
        xlsheet.Cells(1, i) = .Fields("Zeit")
        xlsheet.Cells(2, i) = .Fields("Wert")
        .MoveNext
    End With
    i = i + 1
Loop
rstExportDB.Close


Wie gesagt wäre ich über Denkanstöße oder Hilfe um in die richtige Richtung zu kommen sehr dankbar.

Vielen Dank schon im Voraus


MaggieMay

Hallo,

ich würde vorschlagen, eine Kreuztabellenabfrage zu erstellen und diese zu exportieren.
Das Ergebnis sieht dann noch etwas komprimierter aus als in deiner Skizze, da die Jahresspalten nur einmal auftreten und die Werte pro Landkreis jeweils untereinander stehen.

Wenn du die Abfrage in ein Recordset lädst, so kannst du sie mit der CopyFromRecordset-Methode in die Excel-Tabelle übernehmen.
Freundliche Grüße
MaggieMay

Dick_Knuckles

Danke für die schnelle Antwort. Ich werde das mit der Kreuztabelle mal probieren.