Daten auslesen und in neue Datei übertragen
Schritt-für-Schritt-Anleitung
Um Daten aus einer Excel-Tabelle auszulesen und in eine neue Datei zu übertragen, kannst du folgendes VBA-Skript verwenden. Platziere den Code in der Zieldatei:
Option Explicit
Sub TestGetValue()
Dim strFile As String, strPath As String, strWBook As String, strSheet As String
Dim strCell() As String, strRef As String, strRange() As String
Dim lngIndex As Long, lngCell As Long, rng As Range
strFile = Application.GetOpenFilename("Excel Dateien (*.xls; *.xlsx; *.xlsm), *.xls; *.xlsx; *.xlsm", 1, "Datei zum Datenimport auswählen")
If strFile = "Falsch" Then Exit Sub
strPath = Left(strFile, InStrRev(strFile, "\"))
strWBook = Right(strFile, Len(strFile) - Len(strPath))
strRef = "Tabelle1!A2:A10;Tabelle2!B11:C20" ' Anpassen nach Bedarf
strRange = Split(strRef, ";")
For lngIndex = 0 To UBound(strRange)
strSheet = Left(strRange(lngIndex), InStr(1, strRange(lngIndex), "!") - 1)
strCell = Split(Mid(strRange(lngIndex), InStr(1, strRange(lngIndex), "!") + 1), ",")
For lngCell = 0 To UBound(strCell)
For Each rng In Range(strCell(lngCell))
ThisWorkbook.Sheets(strSheet).Range(rng.Address) = GetValue(strPath, strWBook, strSheet, rng.Address)
Next
Next
Next
End Sub
Private Function GetValue(path As String, file As String, sheet As String, ref As String)
Dim arg As String
If Right(path, 1) <> "\" Then path = path & "\"
If Dir(path & file) = "" Then
GetValue = "File Not Found"
Exit Function
End If
arg = "'" & path & "[" & file & "]" & sheet & "'!" & Range(ref).Range("A1").Address(, , xlR1C1)
GetValue = ExecuteExcel4Macro(arg)
End Function
Mit diesem Makro kannst du die relevanten Daten aus einer defekten Quelldatei auslesen und in die Zieldatei übertragen. Achte darauf, die Zellbereiche in strRef
entsprechend deiner Datenstruktur anzupassen.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn du keine VBA-Skripte verwenden möchtest, kannst du auch manuell die Daten kopieren:
- Öffne die Quelldatei und die Zieldatei.
- Markiere den gewünschten Datenbereich in der Quelldatei.
- Kopiere die Daten (Strg + C).
- Wechsle zur Zieldatei und füge die Daten in die entsprechenden Zellen ein (Strg + V).
Diese Methode ist zwar einfach, kann jedoch bei großen Datenmengen zeitaufwendig sein.
Praktische Beispiele
Tipps für Profis
-
Automatisierung: Du kannst das Makro so anpassen, dass es automatisch bei Öffnen der Zieldatei ausgeführt wird. Das spart Zeit und vereinfacht den Prozess.
-
Fehlerbehandlung: Implementiere eine Fehlerbehandlung im VBA-Code, um mögliche Probleme zu identifizieren und zu lösen, bevor sie auftreten.
-
Sicherungskopien: Erstelle immer Sicherungskopien deiner Quelldateien, bevor du große Datenoperationen durchführst.
FAQ: Häufige Fragen
1. Wie kann ich das VBA-Makro anpassen?
Du kannst die Zellreferenzen in der strRef
-Variable anpassen, um die gewünschten Daten auszulesen.
2. Funktioniert das Skript in Excel 2016?
Ja, das Skript sollte in Excel 2016 sowie in neueren Versionen funktionieren. Achte jedoch darauf, dass die Makros aktiviert sind.