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
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.
Danke für die schnelle Antwort. Ich werde das mit der Kreuztabelle mal probieren.