Per VBA aus einer Access-Tabelle nach Excel

Guten Tag,

Ich bin ein absoluter VBA-Anfänger und bin gerade dabei mich einzuarbeiten und zu lesen. Nach einem drei Tages-Crashkurs zu VBA (Ich muss eine Datenbank aufbauen) stellt sich nun meine erste Herausforderung (VBA Access und Excel 2003):

Ich habe eine Accesstabelle mit dem Namen „tblWerteverlauf“. In dieser besteht ein Feld „Jahr“. Diese wird mit Datensätzen händisch befüllt (2009,2010,2011,2012 usw.)

In einem Formular habe ich ein Button eingbaut das folgendes Ereignis auslösen soll (das Formular und die Tabelle sind über die ID „PersonID“ verknüpft:

  1. Ein Exceldatei öffnen und ein bestimmtes Worksheet aufrufen (Funktioniert bei mir, haken dran)

  2. gehe in die „tblwerteverlauf“ in das Feld „Jahr“ und holle dir den ersten Wert zur passenden PersonID und schreibe diesen in die Exceltabelle an in das Feld(Range) B1

  3. Hole dir den nächsten Wert aus dem Feld Jahr und Schreibe es in die nächste ExcelSpalte (also C1)… Wiederhole das solange bis das Feld „Jahr“ keinen Wert mehr hat (IsNull)

Ich bekomme irgendwie die Schleife nicht hin und das er die Werte automatisch in die Spalte, bzw. nächste Spalte schreibt. Normale Inhalte aus Formularfeldern kann ich nach Excel schieben, das funktioniert… aber dieses Problem klappt irgendwie nicht.

Ich hoffe es kann mir jemand helfen (auch gerne mit einem Code)
Danke und Grüße
evh1973

Ich versuchs mal:

Am besten ist per Script die Tabelle abzufragen und die Werte mit einer Do-While-Schleife nach Excel zu übertragen.

Beispiel (in Access):

'Recordset zur Abfrage einer Tabelle
Set RS1 = CreateObject(„ADODB.Recordset“)
SQL = „SELECT * FROM [Tabelle] WHERE [PersonID] = Wert AND [Jahr] IS NOT NULL“
RS1.Open SQL, Currentproject.Connection, 3, 3

'Das Recordset enthält bereits alle möglichen Werte und endet automatisch, wenn „Jahr“ Null ist.
Do While Not RS1.EOF
'Gefundene Feldwerte nach Excel schreiben
'Excel-Zelle = RS1.Field[„Jahr“].Value
RS1.MoveNext
Loop

RS1.Close
Set RS1 = Nothing

Den dierekten Zugriff auf die Excel-Zelle, weis ich gerade nicht. Aber eigentlich hast du den Teil ja schon, da du ja bereits die Tabelle geöffnet hast.

Hilft das???