{"id":55000026,"date":"2001-08-01T00:00:00","date_gmt":"2021-02-10T18:41:21","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=26"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Automatisierter_Import_von_ExcelTabellen","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/","title":{"rendered":"Automatisierter Import von Excel-Tabellen"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg02.met.vgwort.de\/na\/29841236b6d44333b0f7d0174196f1de\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Autor: Andr&eacute; Minhorst, Duisburg<\/p>\n<p><\/b><\/p>\n<p><b>Es gibt einige Datenbanken, deren Daten nicht direkt in der Datenbank, sondern &uuml;ber den Export von unterschiedlichen anderen Tabellenformaten generiert wird. Sehr beliebt ist hier Microsoft Excel. Der Import des Inhalts einer Excel-Tabelle ist durch die Verwandtschaft von Access und Excel auch leicht mittels Assistenten zu realisieren. Doch wenn es um den immer wiederkehrenden Import einer gr&ouml;&szlig;eren Anzahl von Tabellen geht, kann das Ganze schnell eint&ouml;nig werden. Daher lernen Sie im vorliegenden Beitrag, wie Sie den Import bestimmter Tabellen via VBA automatisieren k&ouml;nnen.<\/b><\/p>\n<p>Der Import von Excel-Tabellen kann grunds&auml;tzlich auf zwei unterschiedliche Arten erfolgen:<\/p>\n<p>Ersten besteht die M&ouml;glichkeit, eine Excel-Tabelle in eine neue Access-Tabelle zu transferieren.<\/p>\n<p>Die zweite M&ouml;glichkeit ist der Import der Excel-Tabelle in eine bestehende Access-Tabelle. In dem Fall gibt es wiederum zwei Alternativen:<\/p>\n<p>Entweder man kopiert den kompletten Inhalt der Tabelle in die bestehende Tabelle nachdem man alle bestehenden Datens&auml;tze gel&ouml;scht hat, oder man kopiert nur die neuen Datens&auml;tze in die Tabelle. Dazu muss man lediglich einen eindeutigen Index festlegen, der auch Bestandteil der Excel-Tabelle ist. Im vorliegenden Beitrag lernen Sie die unterschiedlichen M&ouml;glichkeiten kennen.<\/p>\n<h3>Hinweis<\/h3>\n<p>Weitere Informationen zur Zusammenarbeit zwischen Access und Excel k&ouml;nnen Sie dem Beitrag Access und Excel in der Gruppe 4.14 des Praxishandbuches Access 97 entnehmen. <\/p>\n<p>Mittelpunkt des Imports einer Excel-Tabelle ist die Methode TransferSpreadsheet des DoCmd-Befehls. Mit dieser Methode k&ouml;nnen Sie eine Excel-Tabelle oder einen Bereich einer Excel-Tabelle in eine vorgegebene Access-Tabelle importieren. Die Syntax der Methode lautet folgenderma&szlig;en:<\/p>\n<pre>DoCmd.TransferSpreadsheet [Transfertyp], [Spreadsheettyp], Tabellenname, Dateiname, [BesitztFeldnamen], [Bereich]<\/pre>\n<p>F&uuml;r den Parameter Transfertyp k&ouml;nnen Sie die Konstanten acImport, acExport oder acLink angeben. Im vorliegenden Fall verwenden Sie die Konstante acImport, die auch gleichzeitig der Standardwert ist. Sie k&ouml;nnen den Parameter also weglassen.<\/p>\n<p>Mit dem Parameter Spreadsheettyp legen Sie die Art der Tabelle fest. Es gibt einige Konstanten f&uuml;r den Parameter, interessant sind aber nur die Konstanten acSpreadsheetTypeExcel8 f&uuml;r Excel 97 bzw. acSpreadsheetTypeExcel9 f&uuml;r Excel 2000. Da die beiden Formate aber identisch sind, haben beide den Wert 8. Dieser Wert entspricht dem Standardwert und daher k&ouml;nnen Sie ihn auch weglassen.<\/p>\n<p>Die Angabe des Parameters Tabellenname der Access-Tabelle hingegen ist nicht optional: Geben Sie hier unbedingt den Namen der Tabelle Ihrer Access-Datenbank an, in die Sie den Inhalt der Excel-Tabelle importieren m&ouml;chten. Setzen Sie den Namen in Anf&uuml;hrungszeichen.<\/p>\n<p>Dem Parameter Dateiname weisen Sie den Namen der gew&uuml;nschten Excel-Tabelle zu. Geben Sie den vollst&auml;ndigen Pfad inklusive Dateinamen an und setzen Sie die Information ebenfalls in Anf&uuml;hrungszeichen.<\/p>\n<p><IMG height=\"238\" src=\"..\/fileadmin\/_temp_\/{7DB4BCAD-0CCC-4DCC-9B2F-793F8AFB741F}\/pic001.png\" width=\"442\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p>Mit dem Parameter Besitzt Feldnamen teilen Sie der Methode mit, ob die erste Zeile der Excel-Tabelle die Feldnamen enth&auml;lt. Wenn Sie den Wert True(-1) angeben, ignoriert Access die erste Zeile der Tabelle beim Einlesen. Wenn die Tabelle keine Feldnamen enth&auml;lt (was in der Praxis nicht sehr h&auml;ufig vorkommen) setzen Sie f&uuml;r den Parameter den Wert False(0) ein.<\/p>\n<p>Schlie&szlig;lich teilen Sie der Methode mit, welchen Bereich der Excel-Datei sie importieren soll. Wenn Sie keinen Bereich angeben, importiert Access das komplette erste Tabellenblatt der Excel-Datei.<\/p>\n<p>Andere M&ouml;glichkeiten sind z. B. die Angabe des Namens des gew&uuml;nschten Tabellenblatts so-wie &#8211; falls erforderlich &#8211; die Bezeichnung eines festgelegten Bereiches des angegebenen Tabellenblatts oder die Beschreibung des Bereichs.<\/p>\n<p>Die genaue Syntax der erfor-derlichen Angaben erfahren Sie weiter unten.<\/p>\n<p>Um den Import der Excel-Tabellen m&ouml;glichst komfortabel zu gestalten, erstellen Sie nun ein passendes Formular.  Mit seiner Hilfe k&ouml;nnen Sie anschlie&szlig;end die Excel-Dateien mit den zu importierenden Daten ausw&auml;hlen und den Import starten.<\/p>\n<p><b>Steuerelemente des Formulars<\/b><\/p>\n<p><b><\/b><\/p>\n<p>Das Formular enth&auml;lt ein Textfeld sowie drei Schaltfl&auml;chen (siehe Bild 1). Das Textfeld dient zur Eingabe des Namens der Excel-Datei. Die Schaltfl&auml;che, die sich unmittelbar neben dem Textfeld befindet, dient zum Aufrufen eines Dialoges zur Auswahl der Datei.<\/p>\n<p>Die Schaltfl&auml;che mit der Beschriftung Tabellen importieren startet den Import-Vorgang. Die Schaltfl&auml;che mit der Beschriftung Schlie&szlig;en dient zum Beenden des Imports.<\/p>\n<p><b>Auswahl der Excel-Datei<\/b><\/p>\n<p>Die Auswahl der Excel-Datei erfolgt &uuml;ber den von Windows zur Verf&uuml;gung gestellten Datei &ouml;ffnen-Dialog. Ein Mausklick auf die Schaltfl&auml;che mit den drei Punkten [&#8230;] aktiviert den Dialog.<\/p>\n<pre>Private Sub btnImportieren_Click()\r\n    If txtDateiname = \"\" Or IsNull(txtDateiname) Then\r\n        MsgBox \"W&auml;hlen Sie bitte zun&auml;chst die gew&uuml;nschte Excel-Datei aus.\"\r\n        Exit Sub\r\n    End If\r\n    If Not FileExists(Nz(Me!txtDateiname)) Then\r\n        MsgBox \"Die Datei wurde nicht gefunden.\", vbExclamation\r\n        Me!txtDatei.SetFocus\r\n        Exit Sub\r\n    End If\r\n    If vbNo = MsgBox(\"Der Import wird nun gestartet.\" & vbCrLf & vbCrLf _        & \"M&ouml;chten Sie fortfahren\", vbYesNo + vbExclamation) Then\r\n        Exit Sub\r\n    End If\r\n    ''Importvorgang starten\r\nEnd Sub<\/pre>\n<p>Der ben&ouml;tigte Code soll hier nicht weiter beschrieben werden. Sie finden ihn allerdings in den Modulen der Beispieldatenbank.<\/p>\n<h3>Hinweis<\/h3>\n<p>Weitere Informationen zur Programmierung des Aufrufs eines Dialoges zur Auswahl der Dateien finden Sie im Beitrag Dateidialoge mit Access &ouml;ffnen in der Gruppe 5.5 im Praxishandbuch Access 97. <\/p>\n<p>Alternativ kann der Anwender auch den kompletten Namen der Datei inklusive Pfadangabe von Hand eingeben.<\/p>\n<p><b>Beenden des Import-Dialogs<\/b><\/p>\n<p>Mit der Schaltfl&auml;che Schlie&szlig;en kann der Anwender den Dialog beenden. Um die Funktionalit&auml;t der Schaltfl&auml;che zu gew&auml;hrleisten, hinterlegen Sie f&uuml;r die Ereigniseigenschaft Beim Klicken die folgende Prozedur:<\/p>\n<pre>Private Sub btnSchliessen_Click()\r\n    DoCmd.Close acForm, Me.Name\r\nEnd Sub<\/pre>\n<p><b>Starten des Import-Vorganges<\/b><\/p>\n<p>Hinter der Schaltfl&auml;che mit der Beschriftung Importieren befindet sich eine Prozedur, die den Import-Vorgang startet (Quellcode 1).<\/p>\n<p>Die Prozedur &uuml;berpr&uuml;ft zun&auml;chst, ob der Benutzer &uuml;berhaupt eine Datei angegeben bzw. ausgew&auml;hlt hat.<\/p>\n<p>Anschlie&szlig;end kontrolliert die Prozedur das Vorhandensein der angegebenen Datei. Die dazu verwendete Prozedur k&ouml;nnen Sie der Beispieldatenbank entnehmen. <\/p>\n<p>Schlie&szlig;lich startet ein Aufruf die Funktion zum Importieren der gew&uuml;nschten Tabelle(n). Sie lernen in den folgenden Kapiteln unterschiedliche Vorgehensweisen kennen, die f&uuml;r verschiedene Eins&auml;tze verwendbar sind.<\/p>\n<p>Zuvor jedoch lernen Sie ein wichtiges Feature von Excel kennen: die M&ouml;glichkeit, bestimmte Bereiche zu markieren und mit einem Namen zu versehen.<\/p>\n<p><IMG height=\"322\" src=\"..\/fileadmin\/_temp_\/{7DB4BCAD-0CCC-4DCC-9B2F-793F8AFB741F}\/pic002.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><IMG height=\"212\" src=\"..\/fileadmin\/_temp_\/{7DB4BCAD-0CCC-4DCC-9B2F-793F8AFB741F}\/pic003.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><IMG height=\"282\" src=\"..\/fileadmin\/_temp_\/{7DB4BCAD-0CCC-4DCC-9B2F-793F8AFB741F}\/pic004.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p>Excel bietet dem Anwender die M&ouml;glichkeit, unterschiedliche Bereiche festzulegen und sie zu benennen. Eine der bekanntesten Anwendungen der Benennung von Bereichen ist der so genannte Druckbereich. Der Anwender m&ouml;chte meist nicht den ganzen Inhalt eines Tabellenblattes ausdrucken, da umfangreiche Kalkulationen meist noch Berechnungsfelder au&szlig;erhalb der eigentlichen Informationen besitzen. Daher kann er festlegen, welchen Bereich des Tabellenblattes Excel ausdrucken soll.<\/p>\n<p>Das geschieht, indem der Anwender den gew&uuml;nschten Bereich markiert und anschlie&szlig;end den Men&uuml;befehl Datei ( Druckbereich ( Druckbereich festlegen ausf&uuml;hrt (siehe Bild 2).<\/p>\n<p>Der Bereich erh&auml;lt nun den Namen Druckbereich. Sie k&ouml;nnen einem beliebigen Bereich auch einen selbst ausgew&auml;hlten Namen zuweisen. Dazu markieren Sie den gew&uuml;nschten Bereich, klicken anschlie&szlig;end in das Feld, das normalerweise den Zellnamen anzeigt, und geben den Namen des Bereichs ein (siehe Bild 3).<\/p>\n<p><b><\/b><\/p>\n<p>Es fehlt noch die einfachste Form der Benennung eines Bereiches: Sie findet im Register der einzelnen Tabellenbl&auml;tter statt. Hier k&ouml;nnen Sie jedem einzelnen Tabellenblatt einen aussagekr&auml;ftigeren Namen als beispielsweise Tabelle1 geben (siehe Bild 4). Der Bereichsname bezieht sich dann jeweils auf das ganze Tabellenblatt.<\/p>\n<p><IMG height=\"245\" src=\"..\/fileadmin\/_temp_\/{7DB4BCAD-0CCC-4DCC-9B2F-793F8AFB741F}\/pic005.png\" width=\"329\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Auswahl eines Druckbereichs in Excel<\/span><\/b><\/p>\n<p>Schlie&szlig;lich k&ouml;nnen Sie s&auml;mtliche Bereiche der aktuellen Excel-Datei anzeigen lassen. Dazu klicken Sie einfach auf das Kombinationsfeld zur Eingabe der Bereichsnamen (siehe Bild 5). Sie k&ouml;nnen einen Bereich anzeigen, indem Sie auf seinen Namen klicken.<\/p>\n<p><!--30percent--><\/p>\n<p>Die folgende VBA-Prozedur ist daf&uuml;r ausgelegt, den Druckbereich einer Tabelle aus einer Excel-Datei einzulesen. Schon das Einlesen einer Tabelle erspart dem Anwender eine Menge Zeit, da er die entsprechenden Informationen nicht jedes Mal neu mit dem Assistenten eingeben muss. <\/p>\n<p>Nach der Auswahl der gew&uuml;nschten Excel-Datei soll ein Mausklick auf die Schaltfl&auml;che Importieren den Import der festgelegten Tabelle initiieren.<\/p>\n<p><b>Vorbereiten einer geeigneten Excel-Datei<\/b><\/p>\n<p>Damit Sie das folgende Beispiel genau nachvollziehen k&ouml;nnen, erstellen Sie am besten eine neue Excel-Datei und exportieren aus der Nordwind-Datenbank die beiden Tabellen Kunden und Personal in die neue Excel-Datenbank.<\/p>\n<p>Alternativ k&ouml;nnen Sie auch die auf der Heft-CD befindliche Excel-Datei Nordwind.xls verwenden.<\/p>\n<p>Hier k&ouml;nnen Sie nun wahllos einige Bereiche festlegen. Definieren Sie aber auf jeden Fall einige Zeilen der Tabelle Kunden als Druckbereich, da der Druckbereich im folgenden Beispiel Verwendung findet. Achten Sie darauf, dass Sie nicht &uuml;ber das Ziel hinausschie&szlig;en und leere Zeilen oder Spalten markieren.<\/p>\n<p>Das k&ouml;nnte unter Umst&auml;nden Probleme mit sich bringen &#8211; beispielsweise wenn leere Felder in die Felder einer Tabelle importiert werden, f&uuml;r die eine Eingabe erforderlich ist oder wenn die Markierung Felder enth&auml;lt, die gar nicht in der Zieltabelle vorhanden sind.<\/p>\n<p>Quellcode 2 enth&auml;lt die Funktion ImportTabelle, die zum Import einer Tabelle dient. Die genauen Informationen zum Import werden mit den folgenden drei Parametern &uuml;bergeben:<\/p>\n<li>Tabellenname: Gibt den Namen der Zieltabelle in Access an.<\/li>\n<li>Dateiname: Gibt den Dateinamen der Excel-Datei an.<\/li>\n<li>Bereich: Gibt die genaue Bezeichnung des zu importierenden Bereichs an.<\/li>\n<h3>Auswahl des Tabellennamens<\/h3>\n<p>Der Tabellenname kann entweder der Name einer bestehenden Tabelle sein oder ein Tabellenname, der noch nicht vergeben ist.<\/p>\n<p>Im Falle einer bestehenden Tabelle versucht die Funktion, die Datens&auml;tze der Excel-Tabelle an die Tabelle anzuh&auml;ngen. Beim Versuch, Datens&auml;tze mit bereits bestehendem Index anzuh&auml;ngen, er-scheint eine entsprechende Meldung (siehe Bild 6).<\/p>\n<p>Falls es noch keine Tabelle mit dem angegebenen Namen gibt, erstellt die TransferSpreadsheet-Methode eine neue Tabelle.<\/p>\n<p><IMG height=\"163\" src=\"..\/fileadmin\/_temp_\/{7DB4BCAD-0CCC-4DCC-9B2F-793F8AFB741F}\/pic006.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<h3>Hinweis<\/h3>\n<p>Beim Erstellen einer neuen Tabelle beachtet die TransferSpreadsheet-Methode keinerlei Formate und legt s&auml;mtliche Textfelder an. Au&szlig;erdem kann sie der Excel-Tabelle nat&uuml;rlich keine Informationen bez&uuml;glich Prim&auml;rindizes oder &auml;hnlichem entnehmen. <\/p>\n<h3>Auswahl des Dateinamens<\/h3>\n<p>Die Auswahl des Dateinamens erfolgt, wie oben beschrieben, &uuml;ber den Datei &ouml;ffnen-Dialog oder per Hand.<\/p>\n<h3>Auswahl des zu importierenden Bereiches<\/h3>\n<p>F&uuml;r die Bezeichnung des zu importierenden Bereiches gibt es vier unterschiedliche M&ouml;glichkeiten.<\/p>\n<p>Die erste M&ouml;glichkeit ist das Weglassen des Bereiches. In dem Fall arbeitet die TransferSpreadsheet-Methode mit der ersten verf&uuml;gbaren Tabelle.<\/p>\n<p>Die zweite M&ouml;glichkeit ist die Angabe eines Tabellennamens wie z. B. Kunden. Dabei handelt es sich um die in dem Tabellenregister von Excel am unteren Rand der Tabellen angegebenen Bezeichnung.<\/p>\n<p>Die dritte M&ouml;glichkeit ist die Angabe des Druckbereiches. Dazu m&uuml;ssen Sie einen Ausdruck in folgender Form zusammensetzen:<\/p>\n<pre>&lt;Tabellenname&gt;!Print_Area<\/pre>\n<p>Dummerweise verlangt Excel je nach Version mal nach der Bezeichnung Print_Area und mal nach der Bezeichnung Druckbereich.<\/p>\n<p>Daher beinhaltet die Fehlerbehandlungsroutine der Funktion eine If-Abfrage, die eine der Bezeichnungen durch die jeweils andere ersetzt, falls dadurch ein Fehler verursacht wird und die Funktion mit der neuen Bezeichnung aufruft.<\/p>\n<p>Die vierte M&ouml;glichkeit ist die Angabe eines der anderen benannten Bereiche in der Excel-Datei. Hier ist es nicht notwendig, den Tabellennamen voranzustellen.<\/p>\n<p>Eine weitere Methode ist die genaue Angabe der Spalten- und Zeilenbezeichnung des gew&uuml;nschten Bereiches. Da der Anwender zur Ermittlung der ben&ouml;tigten Informationen aber ohnehin die Excel-Tabelle &ouml;ffnen muss, kann er auch direkt den gew&uuml;nschten Bereich benennen und mit der gew&auml;hlten Bezeichnung operieren.<\/p>\n<h3>Ablauf der Funktion<\/h3>\n<p>Die Funktion verwendet die &uuml;bergebenen Parameter in der TransferSpreadsheet-Methode. Die anderen Parameter der Methode sind konstant und im Aufruf der Methode festgelegt.<\/p>\n<p>Als R&uuml;ckgabewert liefert die Funktion entweder den Wert -1 im Fall eines erfolgreichen Imports oder die entsprechende Fehlernummer im Fall eines Fehlers.<\/p>\n<p><b>Einsatz der Funktion ImportTabelle<\/b><\/p>\n<p>Es fehlt nun noch die Verbindung zwischen der Schaltfl&auml;che zur Ausf&uuml;hrung des Importvorgangs und der Funktion ImportTabelle.<\/p>\n<pre>Public Function ImportTabelle(Tabellenname As String, Dateiname As String, _    Bereich As String) As Long\r\n    On Error GoTo ImportTabelle_Err\r\n    DoCmd.SetWarnings False\r\n    ImportTabelle = 0\r\n    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, Tabellenname, _        Dateiname, True, Bereich\r\n    ImportTabelle = -1\r\n    DoCmd.SetWarnings True\r\n    Exit Function\r\nImportTabelle_Err:\r\n    If Right(Bereich, 12) = \"Druckbereich\" And Sprachfehler = False Then\r\n        Bereich = Mid(Bereich, 1, Len(Bereich) - 12) & \"Print_Area\"\r\n        Sprachfehler = True\r\n        ImportTabelle = ImportTabelle(Tabellenname, Dateiname, Bereich)\r\n        Exit Function\r\n    ElseIf Right(Bereich, 10) = \"Print_Area\" And Sprachfehler = False Then\r\n        Bereich = Mid(Bereich, 1, Len(Bereich) - 10) & \"Druckbereich\"\r\n        Sprachfehler = True\r\n        ImportTabelle = ImportTabelle(Tabellenname, Dateiname, Bereich)\r\n        Exit Function\r\n    End If\r\n        ImportTabelle = Err.Number\r\nIf ImportTabelle(\"Kunden\", Me.txtDateiname, \"Kunden\") = -1 Then\r\n    MsgBox \"Import ohne Fehler abgeschlossen.\"\r\nElse\r\n    MsgBox \"Beim Import traten Fehler auf.\"<\/pre>\n<p>Die einfachste Variante besteht darin, lediglich eine fest vorgegebene Tabelle in eine bestimmte Tabelle zu importieren &#8211; in diesem Fall importiert die Prozedur die Tabelle Kunden aus Excel in die gleichnamige Access-Tabelle.<\/p>\n<p>Dazu f&uuml;gen Sie in die Prozedur aus Quellcode 2 f&uuml;r die Zeile <\/p>\n<pre>''Import starten<\/pre>\n<p>die Zeilen aus Quellcode 3 ein.<\/p>\n<p><b>Flexibles Einlesen mehrerer Tabellen<\/b><\/p>\n<p>Wenn Sie nicht immer die gleiche(n) Tabelle(n) einlesen m&ouml;chten, sondern beispielsweise mal die Kundentabelle und mal die Personaltabelle aktualisieren m&ouml;chten, k&ouml;nnen Sie das Formular frmImport noch ein wenig erweitern.<\/p>\n<p>Ziel der folgenden Schritte ist es, in einem Unterformular die Namen aller Tabellenbl&auml;tter und benannten Bereiche der per Kombinationsfeld ausgew&auml;hlten Excel-Datei anzuzeigen.<\/p>\n<h3>Tabelle zum Festlegen der Import-Parameter<\/h3>\n<p><IMG height=\"372\" src=\"..\/fileadmin\/_temp_\/{7DB4BCAD-0CCC-4DCC-9B2F-793F8AFB741F}\/pic007.png\" width=\"385\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p>Dazu soll eine geeignete Prozedur nach der Auswahl der Excel-Datei zun&auml;chst alle Bereiche in eine entsprechende Tabelle eintragen. Die Tabelle enth&auml;lt neben dem Prim&auml;rindexfeld BereichNr noch vier weitere Felder:<\/p>\n<li>BereichBezeichnung: Enth&auml;lt die Bezeichnung des jeweiligen Bereiches.<\/li>\n<li>ExcelDatei: Name und Pfad der ausgew&auml;hlten Excel-Datei<\/li>\n<li>Importieren: Ja\/Nein-Feld zum Festlegen, ob der Bereich importiert werden soll oder nicht<\/li>\n<li>Zieltabelle: Name der Zieltabelle in der Datenbank<\/li>\n<li>Die Entwurfsansicht der Tabelle sieht etwa wie in Bild 7 aus. Wie in der Abbildung andeutungsweise zu erkennen ist, versteckt sich hinter dem Feld Zieltabelle ein Nachschlagefeld. Sinnvollerweise soll das Feld immer die aktuellen Tabellen der Datenbank anzeigen. Daher ermittelt das Nachschlagefeld mit der folgenden SQL-Abfrage die aktuellen Tabellen aus der Systemtabelle MSysObjects:<\/li>\n<pre>SELECT Name FROM MSysObjects WHERE Name Not Like \"msys*\" And Type=1;<\/pre>\n<h3>Unterformular zur Anzeige der Import-Parameter<\/h3>\n<p>Zur Anzeige der Daten der soeben erstellten Tabelle im Import-Formular verwenden Sie ein Unterformular namens frmBereiche.<\/p>\n<p>Als Datenherkunft des Formulars w&auml;hlen Sie die Tabelle tblBereiche aus.<\/p>\n<p>Ziehen Sie die Felder BereichBezeichnung, Importieren und Zieltabelle in den Detailbereich der Entwurfsansicht des Formulars.<\/p>\n<p>Anschlie&szlig;end passen Sie noch einige Eigenschaften des Formulars an. Setzen Sie die Eigenschaft Standardansicht auf den Wert Datenblatt.<\/p>\n<p>Anschlie&szlig;end m&uuml;ssen Sie das Unterformular nur noch in das Hauptformular frmImport ziehen. Dazu &ouml;ffnen Sie das Hauptformular in der Entwurfsansicht so, dass Sie das Unterformular aus dem Datenbankfenster in das Hauptformular ziehen k&ouml;nnen. Richten Sie es anschlie&szlig;end so wie in Bild 8 aus.<\/p>\n<p><IMG height=\"362\" src=\"..\/fileadmin\/_temp_\/{7DB4BCAD-0CCC-4DCC-9B2F-793F8AFB741F}\/pic008.png\" width=\"499\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<h3>Prozedur zur Aktualisierung der Import-Parameter<\/h3>\n<p>Wenn der Anwender die gew&uuml;nschte Excel-Datei im Formular frmImport ausgew&auml;hlt hat, soll die Liste der benannten Bereiche und Tabellen der ausgew&auml;hlten Excel-Datei aktualisiert werden.<\/p>\n<p>Die dazu verwendete Prozedur geht folgenderma&szlig;en vor:<\/p>\n<li>Starten von Excel und &ouml;ffnen der ausgew&auml;hlten Excel-Datei<\/li>\n<li>Eintragen aller Tabellen der Excel-Datei in die Tabelle tblBereiche<\/li>\n<li>Eintragen aller benannten Bereiche der Excel-Datei inklusive der Druckbereiche<\/li>\n<li>Bei den genannten Schritten ist eines noch nicht ber&uuml;cksichtigt: Es kann durchaus einmal vorkommen, dass zwischen zwei Aktualisierungen einer der benannten Bereiche oder eine Tabelle der Excel-Datei gel&ouml;scht wird.<\/li>\n<li>In dem Fall muss die Anwendung den entsprechenden Eintrag auch aus der Tabelle tblBereiche l&ouml;schen.<\/li>\n<li>Daher geht den eben genannten drei Schritten ein Schritt voraus: Ein neues Feld in der Tabelle tblBereiche namens Vorhanden wird gleich Falsch gesetzt. W&auml;hrend des Durchlaufens der drei bekannten Schritte setzt die Prozedur den Wert f&uuml;r das Feld Vorhanden auf den Wert Wahr. Nach dem Durchlaufen der Schritte m&uuml;sste also der Wert des Feldes Vorhanden aller noch vorhandenen Tabellen und Bereiche den Wert Wahr haben. Dementsprechend kann die Prozedur getrost alle anderen mit der aktuellen Excel-Datei in Verbindung stehenden Tabellen und Bereiche aus der Tabelle l&ouml;schen.<\/li>\n<h3>Starten des Import-Vorgangs<\/h3>\n<p>Den Import-Vorgang steuert im vorliegenden Fall eine eigene Prozedur namens Importieren. <\/p>\n<p>Nach dem Bet&auml;tigen der Schaltfl&auml;che btnImport per Mausklick ruft die Ereignisprozedur der Schaltfl&auml;che die Prozedur Importieren auf, wenn Sie in Quellcode 2 die Zeile <\/p>\n<pre>''Import starten<\/pre>\n<p>durch die Zeile<\/p>\n<pre>Importieren Me.txtDateiname<\/pre>\n<p>ersetzen. Als einzigen Parameter &uuml;bergibt die Prozedur den Dateinamen der Excel-Datei.<\/p>\n<p>Die Prozedur Importieren selbst finden Sie in Quellcode 5.<\/p>\n<p>Die Prozedur &uuml;bernimmt einige Aufgaben. Zun&auml;chst erstellt sie eine Verbindung zwischen der Prozedur und der aktuellen Datenbank sowie eine Datensatzgruppe mit dem Inhalt der Tabelle tblBereiche.<\/p>\n<pre>Private Sub Importieren(Dateiname As String)\r\n    Dim con As Connection\r\n    Dim rst As New Recordset\r\n    Dim Kriterium As String\r\n    Set con = CurrentProject.Connection\r\n    rst.Open \"tblBereiche\", con, adOpenDynamic, adLockOptimistic\r\n    Kriterium = \"ExcelDatei = ''\" & Dateiname & \"'' AND Importieren = TRUE\"\r\n    rst.Filter = Kriterium\r\n    Do While Not rst.EOF\r\n        If IsNull(rst!Zieltabelle) Or rst!Zieltabelle = \"\" Then\r\n            MsgBox \"Geben Sie bitte eine Zieltabelle f&uuml;r die Tabelle \" _                & rst!BereichBezeichnung & \" an.\"\r\n            Exit Sub\r\n        End If\r\n        rst.MoveNext\r\n    Loop\r\n    rst.MoveFirst\r\n    Do While Not rst.EOF\r\n        If rst!AlteDatenLoeschen = True Then\r\n            If ErsetzenTabelle(rst!Zieltabelle, Dateiname, rst!BereichBezeichnung) = _                -1 Then\r\n                MsgBox \"Ersetzen der Tabelle \" & rst!Zieltabelle _                    & \" ohne Fehler abgeschlossen.\"\r\n            Else\r\n                MsgBox \"Beim Ersetzen der Tabelle \" & rst!Zieltabelle _                    & \" traten Fehler auf.\"\r\n            End If\r\n        Else\r\n            If ImportTabelle(rst!Zieltabelle, Dateiname, rst!BereichBezeichnung) = _                -1 Then\r\n                MsgBox \"Import der Tabelle \" & rst!Zieltabelle _                    & \" ohne Fehler abgeschlossen.\"\r\n            Else\r\n                MsgBox \"Beim Import der Tabelle \" & rst!Zieltabelle _                    & \" traten Fehler auf.\"\r\n            End If\r\n        End If\r\n        rst.MoveNext\r\n    Loop\r\nEnd Sub<\/pre>\n<p>Quellcode 4<\/p>\n<p>Zu guter Letzt durchl&auml;uft sie erneut alle Datens&auml;tze, die zu der aktuell ausgew&auml;hlten Excel-Datei geh&ouml;ren und die zum Import ausgew&auml;hlt wurden. Dabei ruft die Prozedur jeweils die Funktion ImportTabelle auf, die ja bereits weiter oben beschrieben wurde (Quellcode 2, weiter vorne).<\/p>\n<p>Anschlie&szlig;end &uuml;berpr&uuml;ft sie, ob in der Tabelle f&uuml;r alle zu importierenden Tabellen und Bereiche eine Zieltabelle in der Datenbank angegeben ist und fordert den Anwender gegebenenfalls auf, eine Zieltabelle hinzuzuf&uuml;gen. Ein Import ohne die Angabe einer Zieltabelle ist aus verst&auml;ndlichen Gr&uuml;nden nicht m&ouml;glich.<\/p>\n<p><IMG height=\"287\" src=\"..\/fileadmin\/_temp_\/{7DB4BCAD-0CCC-4DCC-9B2F-793F8AFB741F}\/pic009.png\" width=\"484\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 9:  Das fertige Formular zum Importieren von Excel-Tabellen<\/span><\/b><\/p>\n<p>Auf diese Weise k&ouml;nnen Sie mit dem Formular frmImport bequem die zu importierenden Tabellen und die genauen Importparameter festlegen und sp&auml;ter bequem auf die gespeicherten Informationen zur&uuml;ckgreifen. Bild 9 zeigt das fertige Formular mit einigen ausgew&auml;hlten Bereichen.<\/p>\n<p><b>&uuml;berschreiben von Tabellen<\/b><\/p>\n<p>Hier sehen Sie auch eine Spalte namens &uuml;berschreiben. Dahinter steckt eine Funktion, die hier nicht n&auml;her beschrieben werden soll. Sie dient dazu, den Inhalt der ausgew&auml;hlten Excel-Tabelle &uuml;ber den Inhalt der Access-Tabelle zu schreiben.<\/p>\n<p>Beim &uuml;berschreiben werden zun&auml;chst die zu importierenden Daten in eine tempor&auml;re Tabelle kopiert. Wenn der Import-Vorgang funktioniert hat, l&ouml;scht Access den Inhalt der Zieltabelle und kopiert den Inhalt der tempor&auml;ren Tabelle in die Zieltabelle. Anschlie&szlig;end l&ouml;scht Access die tempor&auml;re Tabelle. <\/p>\n<p>Das funktioniert allerdings nur, wenn keine andere Tabelle mit Datens&auml;tzen der zu &uuml;berschreibenden Tabelle verkn&uuml;pft ist &#8211; oder wenn Sie f&uuml;r eine solche Verkn&uuml;pfung die L&ouml;schweitergabe aktiviert haben. F&uuml;r alle anderen F&auml;lle funktioniert der Import nicht. Die Anwendung importiert die Daten nur, wenn die Zieltabelle keinerlei Verkn&uuml;pfungen aufweist.<\/p>\n<p>F&uuml;r genauere Informationen sehen Sie sich bitte den Quellcode der Funktion ErsetzenTabelle im Modul modExcel an.<\/p>\n<p><b>Aktualisieren vorhandener Tabellen<\/b><\/p>\n<p>Eine weitaus kompliziertere Angelegenheit als das blo&szlig;e Anf&uuml;gen von Datens&auml;tzen oder das Neuanlegen einer importierten Tabelle ist die Aktualisierung einer Access-Tabelle anhand der Daten aus einer Excel-Tabelle.<\/p>\n<p>Das ist z. B. dann erforderlich, wenn aus der Excel-Tabelle einige Datens&auml;tze entfernt oder wenn die Daten bestehender Datens&auml;tze ver&auml;ndert wurden.<\/p>\n<p>Die grobe L&ouml;sung ist das L&ouml;schen der Datens&auml;tze der bestehenden Access-Tabelle und der Import der kompletten Excel-Tabelle. Dabei k&ouml;nnen allerdings einige Fehler auftauchen. Beispielsweise ist es m&ouml;glich, dass andere Tabellen &uuml;ber Verkn&uuml;pfungsfelder auf die zu aktualisierende Tabelle zugreifen.<\/p>\n<p>In dem Fall &#8211; die Festlegung referentieller Integrit&auml;t vorausgesetzt &#8211; k&ouml;nnen verkn&uuml;pfte Datens&auml;tze nicht einfach gel&ouml;scht werden, es sei denn, sie haben f&uuml;r referentielle Integrit&auml;t mit L&ouml;schweitergabe aktualisiert.<\/p>\n<p>Stattdessen legt man eine Prozedur an, die zun&auml;chst die Daten der Excel-Tabelle in eine tempor&auml;re Tabelle importiert. Anschlie&szlig;end kann man die Inhalte der Tabelle sowie der einzelnen Datens&auml;tze miteinander vergleichen und entsprechende &auml;nderungen vornehmen.<\/p>\n<p>Mit der hier vorgestellten L&ouml;sung k&ouml;nnen Sie unverkn&uuml;pfte Tabellen problemlos importieren. Vor allem die M&ouml;glichkeit, mehrere Tabellen in einem Schritt zu importieren und nicht jedes Mal die gew&uuml;nschten Tabellen neu auszuw&auml;hlen sowie die Zieltabellen bestimmen zu m&uuml;ssen, bietet eine Menge Zeitersparnis &#8211; zumindest, wenn man regelm&auml;&szlig;ig Daten aus Excel-Dateien importiert.<\/p>\n<p>Mit ein wenig Programmierkenntnissen k&ouml;nnen Sie den Import so gestalten, dass die Anwendung automatisch erkennt, ob der zu importierende Datensatz ge&auml;ndert wurde oder nicht und ob er dementsprechend &uuml;berhaupt in der Zieltabelle ge&auml;ndert werden muss. Sie k&ouml;nnen die vorliegende L&ouml;sung also beliebig erweitern. <\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>AccessUndExcel00.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/55A20286-3F41-4EAA-891D-2B038D63B340\/aiu_26.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es gibt einige Datenbanken, deren Daten nicht direkt in der Datenbank, sondern &uuml;ber den Export von unterschiedlichen anderen Tabellenformaten generiert wird. Sehr beliebt ist hier Microsoft Excel. Der Import des Inhalts einer Excel-Tabelle ist durch die Verwandtschaft von Access und Excel auch leicht mittels Assistenten zu realisieren. Doch wenn es um den immer wiederkehrenden Import einer gr&ouml;&szlig;eren Anzahl von Tabellen geht, kann das Ganze schnell eint&ouml;nig werden. Daher lernen Sie im vorliegenden Beitrag, wie Sie den Import bestimmter Tabellen via VBA automatisieren k&ouml;nnen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662001,66042001,44000032,44000034],"tags":[],"class_list":["post-55000026","post","type-post","status-publish","format-standard","hentry","category-662001","category-66042001","category-Excel","category-ImportExport"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Automatisierter Import von Excel-Tabellen - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatisierter Import von Excel-Tabellen\" \/>\n<meta property=\"og:description\" content=\"Es gibt einige Datenbanken, deren Daten nicht direkt in der Datenbank, sondern &uuml;ber den Export von unterschiedlichen anderen Tabellenformaten generiert wird. Sehr beliebt ist hier Microsoft Excel. Der Import des Inhalts einer Excel-Tabelle ist durch die Verwandtschaft von Access und Excel auch leicht mittels Assistenten zu realisieren. Doch wenn es um den immer wiederkehrenden Import einer gr&ouml;&szlig;eren Anzahl von Tabellen geht, kann das Ganze schnell eint&ouml;nig werden. Daher lernen Sie im vorliegenden Beitrag, wie Sie den Import bestimmter Tabellen via VBA automatisieren k&ouml;nnen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-10T18:41:21+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg02.met.vgwort.de\/na\/29841236b6d44333b0f7d0174196f1de\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"18\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Automatisierter_Import_von_ExcelTabellen\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Automatisierter_Import_von_ExcelTabellen\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Automatisierter Import von Excel-Tabellen\",\"datePublished\":\"2021-02-10T18:41:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Automatisierter_Import_von_ExcelTabellen\\\/\"},\"wordCount\":3256,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Automatisierter_Import_von_ExcelTabellen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/29841236b6d44333b0f7d0174196f1de\",\"articleSection\":[\"2001\",\"4\\\/2001\",\"Excel\",\"Import\\\/Export\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Automatisierter_Import_von_ExcelTabellen\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Automatisierter_Import_von_ExcelTabellen\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Automatisierter_Import_von_ExcelTabellen\\\/\",\"name\":\"Automatisierter Import von Excel-Tabellen - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Automatisierter_Import_von_ExcelTabellen\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Automatisierter_Import_von_ExcelTabellen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/29841236b6d44333b0f7d0174196f1de\",\"datePublished\":\"2021-02-10T18:41:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Automatisierter_Import_von_ExcelTabellen\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Automatisierter_Import_von_ExcelTabellen\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Automatisierter_Import_von_ExcelTabellen\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/29841236b6d44333b0f7d0174196f1de\",\"contentUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/29841236b6d44333b0f7d0174196f1de\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Automatisierter_Import_von_ExcelTabellen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automatisierter Import von Excel-Tabellen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Automatisierter Import von Excel-Tabellen - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/","og_locale":"de_DE","og_type":"article","og_title":"Automatisierter Import von Excel-Tabellen","og_description":"Es gibt einige Datenbanken, deren Daten nicht direkt in der Datenbank, sondern &uuml;ber den Export von unterschiedlichen anderen Tabellenformaten generiert wird. Sehr beliebt ist hier Microsoft Excel. Der Import des Inhalts einer Excel-Tabelle ist durch die Verwandtschaft von Access und Excel auch leicht mittels Assistenten zu realisieren. Doch wenn es um den immer wiederkehrenden Import einer gr&ouml;&szlig;eren Anzahl von Tabellen geht, kann das Ganze schnell eint&ouml;nig werden. Daher lernen Sie im vorliegenden Beitrag, wie Sie den Import bestimmter Tabellen via VBA automatisieren k&ouml;nnen.","og_url":"https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-02-10T18:41:21+00:00","og_image":[{"url":"http:\/\/vg02.met.vgwort.de\/na\/29841236b6d44333b0f7d0174196f1de","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"18\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Automatisierter Import von Excel-Tabellen","datePublished":"2021-02-10T18:41:21+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/"},"wordCount":3256,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/29841236b6d44333b0f7d0174196f1de","articleSection":["2001","4\/2001","Excel","Import\/Export"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/","url":"https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/","name":"Automatisierter Import von Excel-Tabellen - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/29841236b6d44333b0f7d0174196f1de","datePublished":"2021-02-10T18:41:21+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/#primaryimage","url":"http:\/\/vg02.met.vgwort.de\/na\/29841236b6d44333b0f7d0174196f1de","contentUrl":"http:\/\/vg02.met.vgwort.de\/na\/29841236b6d44333b0f7d0174196f1de"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Automatisierter_Import_von_ExcelTabellen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Automatisierter Import von Excel-Tabellen"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000026","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000026"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000026\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000026"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000026"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}