Daten aus einer geschlossenen Excel-Datei kopieren
Schritt-für-Schritt-Anleitung
-
Öffne die Excel-Datei, aus der Du kopieren möchtest.
Stelle sicher, dass die Datei, die die Daten enthält, geöffnet ist.
-
Verwende den folgenden VBA-Code, um die Daten zu kopieren:
Sub auslesen()
Dim rngAct As Range
Dim lgRow As Long
Dim wksZiel As Worksheet
Dim wksQuell As Worksheet
Set wksQuell = ThisWorkbook.Sheets("Quelltabelle") ' Quelltabelle
Workbooks.Open Filename:="C:\Lab_FE\VBA\Reisebericht\DB.xls"
Set wksZiel = ActiveWorkbook.Sheets("Zieltabelle") ' Zieltabelle
With wksZiel
lgRow = .Range("A65536").End(xlUp).Row + 1
For Each rngAct In wksQuell.Range("A1,C2,C6,E5,A6").Cells
.Cells(lgRow, 1) = rngAct
lgRow = lgRow + 1
Next rngAct
End With
ActiveWorkbook.Close savechanges:=True
End Sub
- Passe den Code an Deine Bedürfnisse an.
Ändere den Pfad zur Zieldatei und die Namen der Blätter entsprechend.
Häufige Fehler und Lösungen
-
Fehler: „Konnte die Datei nicht finden“
- Überprüfe den angegebenen Pfad zur geschlossenen Datei. Stelle sicher, dass er korrekt ist.
-
Fehler: „Zielarbeitsmappe ist nicht geöffnet“
- Der Code funktioniert nur, wenn die Zielarbeitsmappe geöffnet wird. Stelle sicher, dass der Befehl
Workbooks.Open korrekt verwendet wird.
-
Daten werden nicht in der gewünschten Zeile geschrieben.
- Achte darauf, dass
lgRow korrekt initialisiert und erhöht wird, um in die nächste freie Zeile zu schreiben.
Alternative Methoden
Wenn Du keine VBA-Makros verwenden möchtest, kannst Du auch die Power Query-Funktion in Excel nutzen, um Daten aus einer geschlossenen Datei zu importieren. Gehe dazu wie folgt vor:
- Öffne Excel und gehe zu „Daten“.
- Wähle „Daten abrufen“ und dann „Aus Datei“.
- Wähle „Aus Arbeitsmappe“ und navigiere zur gewünschten Datei.
- Folge den Anweisungen, um die benötigten Daten zu importieren.
Diese Methode ist besonders nützlich, wenn Du regelmäßig Daten aus einer bestimmten Datei aktualisieren möchtest.
Praktische Beispiele
Angenommen, Du hast eine Excel-Datei mit Verkaufsdaten und möchtest diese in eine andere Datei übertragen. Verwende den oben genannten Code und passe ihn an:
- Quelltabelle: „Verkäufe“
- Zieltabelle: „Archiv“
Der Code könnte folgendermaßen modifiziert werden:
Set wksQuell = ThisWorkbook.Sheets("Verkäufe")
Set wksZiel = ActiveWorkbook.Sheets("Archiv")
So kannst Du spezifische Bereiche aus der Quelltabelle in die Zieltabelle übertragen.
Tipps für Profis
- Fehlerbehandlung einbauen: Füge eine Fehlerbehandlung in deinem Code hinzu, um unerwartete Probleme abzufangen.
On Error Resume Next
' Dein Code
On Error GoTo 0
-
Effizienz steigern: Wenn Du viele Daten überträgst, arbeite mit Arrays, um die Leistung zu verbessern.
-
Dokumentation: Kommentiere Deinen Code gut, damit andere (oder Du selbst) später nachvollziehen können, was Du gemacht hast.
FAQ: Häufige Fragen
1. Kann ich Daten aus mehreren geschlossenen Dateien gleichzeitig kopieren?
Ja, Du kannst mehrere Workbooks.Open-Befehle verwenden, um verschiedene Dateien zu öffnen und die Daten entsprechend zu verarbeiten.
2. Was kann ich tun, wenn ich VBA nicht verwenden kann?
Nutze die Power Query-Funktion in Excel, um Daten aus geschlossenen Dateien zu importieren, ohne VBA verwenden zu müssen.
3. Ist der Code mit allen Excel-Versionen kompatibel?
Die meisten VBA-Codes sind mit Excel-Versionen ab 2007 kompatibel. Achte darauf, dass Du eine aktuelle Version verwendest, insbesondere wenn Du neue Funktionen benötigst.