Clever-Excel-Forum

Normale Version: mehrere Exceltabelen in Access importieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe eine Excel-Arbeitsmappe mit 34 Tabellen. Alle Tabellen sind gleich Aufgebaut.
Anzahl der Spalten ist gleich und die Spalten haben auch die gleichen Spaltenüberschriften.
Diese Tabellen möchte ich jetzt in nur eine Accesstabelle importieren. Dazu habe ich mir ein Modul geschrieben, mit dem ich aber nur eine Tabelle importieren kann.
Code:
Option Compare Database


Public Sub Excelimport()

DoCmd.Close acTable, "Fildaten"
DoCmd.DeleteObject acTable, "Fildaten"

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, _
        "Fildaten", "C:\Users\Statandartsreport\Analyse_Filialen.xlsm", True, "9542!"


End Sub
 
Wie könnte ich jetzt eine Schleife einbauen, damit alle 34 Tabellen nacheinander in die Accesstabelle "Filialdaten" importiert werden.
Die Exceltabellen haben die Bezeichnung 9542 bis 9799. Es sind Filialnummern, die aber nicht fortlaufend sind!

Für die Hilfe wäre ich sehr dankbar!!

LG Grüsse

Jo
Hi Joe,


Variante 1
wenn es keine Regel gibt um die Nahmen mathematisch zu ermitteln dann packe die 34 Namen in ein Array und arbeite selbiges ab.

Variante 2
Öffne die Exceldatei und nimm die Blätter in eine Schleife oder ermittle damit die Blattnamen, mach die Datei wieder zu und starte mit den ermittelten Blattnamen den Import. Ich weiß jetzt nicht, ob die Datei beim Import geschlossen sein muss oder nicht … Schau dazu auch mal dort rein:

Import mehrerer Excel-Dateien

da steht auch was zu allen Blättern einer Datei
Hallo Andre`,

vielen Dank für die Antwort, aber mit meinen VBA Kenntnissen komme ich hier nicht weiter!! Versuche schon den ganzen Nachmittag das Problem zu lösen!! Huh Huh

Gruß

Jo
Hi Jo,

also, in dem verlinkten Thread hast Du bei den Beispielmakros unten das letzte welches so beginnt:

Sub EineExcelDateiMitAllenTabellenEinlinkenUndAnfügen(AktDatFullNam As String, _
                                                      ZielTab As String)
'… hier kommt so einiges
End Sub


Du würdest das Makro mit einem zweiten Makro starten, z.B.

Sub Test()
Call EineExcelDateiMitAllenTabellenEinlinkenUndAnfügen "C:\Users\Statandartsreport\Analyse_Filialen.xlsm", "Fildaten"
End Sub

Ich kann das allerdings nicht gleich testen und der Code ist schon 13 Jahre alt …
Danke für die Infos. Ich werde es testen!!!

Gruß

Jo