Daten aus geschlossener Excel Datei kopieren
Um VBA zu lernen und besser zu verstehen, empfehle ich dir mein kostenloses Grundlagentraining, in dem ich dir die ersten Schritt in Excel-VBA zeige.
Ich zeige dir, wie du Daten aus einer geschlossenen Excel Datei importieren kannst.
Schritt 1: ADO Bibliothek aktivieren
Diese findest du unter Extras – Verweise – Microsoft ActiveX Data Objects 6.1 Library
Setze hier den Haken, um die Aktivierung durchzuführen.
Schritt 2: Connection herstellen
Jetzt musst du eine Verbindung zur geschlossenen Arbeitsmappe herstellen. Dies geschieht über den sogenannten Connction String.
Schritt 3: SQL Query definieren
Der Datenquelle übergibst du über den Query, welche Daten du von wo abrufen willst und speicherst diese in ein Recordset.
Schritt 4: Daten in Tabellenblatt laden
Die gespeichert Daten im Recordset kannst du jetzt auf dein Tabellenblatt übertragen.
Alternativ kannst du auch ein Array mit den Daten aus der geschlossenen Arbeitsmappe befüllen, um diese weiterzuverarbeiten.
Schritt 5: Connection schließen
Zum Abschluss musst du die Connection und das Recordset schließen.
Hier ist das Codebeispiel aus meinem Video:
Sub ADO()
'Variablen deklarieren
Dim Connection As New ADODB.Connection
Dim Query As String
Dim rs As New ADODB.Recordset
Dim arr As Variant
'Connection herstellen
Connection.Open "Provider=MSDASQL.1;DSN=Excel Files;DBQ=C:\Users\kaiwe\Desktop\February.xlsx;HDR=Yes';"
'Query definieren und ausführen
Query = "SELECT * FROM [Tabelle1$] WHERE Product = 'VTT'"
rs.Open Query, Connection
'Daten ins Tabellenblatt laden
Tabelle1.Range("A8").CopyFromRecordset rs
'Daten in einen Array laden
'arr = rs.GetRows
'Connection schließen
rs.Close
Connection.Close
'Bereitgestellt von VBATrainer: www.vbatrainer.de
End Sub
Ich hoffe dieses Tutorial hilft dir dabei, deine Anwendungen zu verbessern und den Zugriff auf geschlossene Arbeitsmappen zu ermöglichen.
Melde dich gerne für meinen Newsletter an und erhalte regelmäßig Tipps & Tricks rund um das Thema Excel VBA!