window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TCJTE9L38H');

Datenaustausch mit Excel per VBA

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Die Methoden für das Importieren, Exportieren oder Verknüpfen von Daten zwischen Access und Excel haben Sie in den Artikeln “Access und Excel: Import und Export” und “Access und Excel: Verknüpfungen” bereits vor einiger Zeit kennengelernt. Hier knüpfen wir nun an und zeigen Ihnen, wie Sie per VBA die in diesen Artikeln gezeigten Methoden nutzen können.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1803_ExceldatenPerVBA.accdb.

Assistenten per VBA

Bevor wir die volle Automatisierung betrachten, schauen wir uns an, wie Sie die Assistenten, die Sie in den oben genannten Artikeln kennengelernt haben, per VBA starten. Wozu das Nun: Gegebenenfalls möchten Sie dem Benutzer die Möglichkeit geben, in einer von Ihnen gefertigten Anwendung auf die Daten aus einer Excel-Anwendung zuzugreifen und ihm dabei größtmögliche Freiheit lassen – und dabei dennoch die üblichen Elemente der Benutzeroberfläche dafür bereit zu stellen, also die eingebauten Ribbon-Befehle. Eine professionelle Access-Anwendung sollte nämlich ein von Ihnen erstelltes und auf die Anwendung zugeschnittenes Ribbon enthalten, mit dem Benutzer nur die für diese Anwendung vorgesehenen Funktionen starten darf.

Die Befehle, die üblicherweise über die Benutzeroberfläche gestartet werden, finden Sie unter VBA meist als Aufrufe der Methode RunCommand mit verschiedenen Parametern. Dazu geben Sie beispielsweise die Anweisung RunCommand ins Direktfenster ein und tippen dann die Anfangsbuchstaben der gewünschten Aktion, in Bild 1 zum Beispiel acCmdI… – und erhalten dann alle Methoden, die mit dem Import von Daten zu tun haben. Uns interessiert in diesem Fall beispielsweise die Methode mit dem Parameter acCmdImportAttachExcel:

Auswahl der Befehle zum Importieren aus verschiedenen Quellen

Bild 1: Auswahl der Befehle zum Importieren aus verschiedenen Quellen

RunCommand acCmdImportAttachExcel

Dieser zeigt nach dem Aufruf etwa den Dialog aus Bild 2 an, mit dem Sie Daten importieren oder verknüpfen können.

Assistent zum Importieren oder Verknüpfen von Excel-Daten

Bild 2: Assistent zum Importieren oder Verknüpfen von Excel-Daten

Wenn Sie hingegen Daten exportieren wollen, rufen Sie diesen Befehl mit dem Parameter acCmdExport-Excel auf:

RunCommand acCmdExportExcel

Wenn Sie diesen Befehl aufrufen, kann es allerdings sein, dass Sie die Meldung aus Bild 3 erhalten. Warum das Das geschieht doch nie, wenn Sie den entsprechenden Ribbon-Befehl aufrufen

Fehlerhafter Aufruf des Export-Assistenten

Bild 3: Fehlerhafter Aufruf des Export-Assistenten

Die Lösung liegt nahe: Werfen Sie beim Auftreten dieses Fehlers einen Blick auf das Ribbon-Tab Externe Daten, finden Sie in der Gruppe Exportieren lediglich deaktivierte Einträge vor (siehe Bild 4). In diesem Fall ist schlicht und einfach gerade kein Element im Navigationsbereich markiert, dass Sie exportieren könnten. Zur Sicherheit können Sie die Fehlerbehandlung in einer Prozedur zum Aufruf dieser Methode durch eine benutzerdefinierte Fehlerbehandlung ersetzen, die prüft, ob das öffnen des Assistenten einen Fehler auslöst und gegebenenfalls eine entsprechende Meldung anzeigen:

Die Export-Befehle sind deaktiviert.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar