Hi, Sabrina!
nein ich habe sozusagen eine vorlage mit überschrift usw. und
möchte nun nur die daten in dieses auffüllen und nicht von vb
in access das excel formatieren
Gut, die Vorlage heißt also konkret: Eine Datei. Ich nehme mal an, sie liegt unter „C:\Temp\DeineDatei.xls“. Dann nehmen wir den Code von letztens und passen ihn an:
Sub ExportNachExcel()
Dim dbMdb As Database
Dim recGruppen As Recordset
Dim recPakete As Recordset
Dim appExcel As New Excel.Application
Dim wbDatei As Workbook
Dim wsAusgabe As Worksheet
Dim lngZeile As Long
Dim lngSpalte As Long
' Excel-Datei anlegen
Set wbDatei = appExcel.Workbooks.Open("C:\Temp\DeineDatei.xls")
' Ausgabe in erstes Sheet
Set wsAusgabe = wbDatei.Worksheets(1)
' oder auch per Name:
Set wsAusgabe = wbDatei.Worksheets("DeineVorlage")
' vielleicht hast Du auch alle Daten, die Du jedes Mal
' nur unter die Überschrift einfügen willst (also auch alle
' Eingaben außer der Überschrift löschen)
' in diesem Fall die folgende Zeile ent-kommentieren:
'wsAusgabe.Rows("2:65536").delete
' Start in erster Zeile geht nicht mehr, jetzt suchen wir nach
' der ersten freien Zeile?
lngZeile = 1
do while wsAusgabe.Cells(lngZeile,1)""
lngZeile=lngZeile+1
loop
Set dbMdb = CurrentDb
Set recGruppen = dbMdb.OpenRecordset("select \* from AP\_Gruppe order by APG\_Beschreibung")
' alle Gruppen durchgehen
Do While Not recGruppen.EOF
' Beschreibung der Gruppe in erste Spalte schreiben
wsAusgabe.Cells(lngZeile, 1) = recGruppen("APG\_Beschreibung")
' Ausgabe der Pakete ab Spalte 2 in der gleichen Zeile
lngSpalte = 2
' alle Pakete der Gruppe auslesen
Set recPakete = dbMdb.OpenRecordset("select \* from AP\_STAMM where APG\_ID=" & recGruppen("APG\_ID"))
Do While Not recPakete.EOF
' Paket in zweite Spalte schreiben
wsAusgabe.Cells(lngZeile, lngSpalte) = recPakete("AP\_Beschreibung")
' nächste Spalte für Pakete
lngSpalte = lngSpalte + 1
recPakete.MoveNext
Loop
' und nächste Gruppe...
recGruppen.MoveNext
' ... in nächster Zeile
lngZeile = lngZeile + 1
Loop
' Excel-Datei speichern
wbDatei.Save
appExcel.Quit
End Sub
Kommst Du damit klar?
Gruß, Manfred