Daten aus geschlossener Arbeitsmappe auslesen
Schritt-für-Schritt-Anleitung
Um Daten aus einer geschlossenen Excel-Datei auszulesen, benötigst du die Verwendung von VBA (Visual Basic for Applications). Hier ist eine einfache Schritt-für-Schritt-Anleitung:
-
Öffne den VBA-Editor:
- Drücke
Alt + F11, um den Visual Basic for Applications-Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.
-
Füge den folgenden Code ein:
Option Explicit
Public Function GetDataClosedWB(SourcePath As String, _
SourceFile As String, sourceSheet As String, _
SourceRange As String, TargetRange As Range) As Boolean
Dim strQuelle As String
Dim Zeilen As Long
Dim Spalten As Byte
On Error GoTo InvalidInput
strQuelle = "'" & SourcePath & "[" & SourceFile & "]" & sourceSheet & "'!" & Range( _
SourceRange).Cells(1, 1).Address(0, 0)
Zeilen = Range(SourceRange).Rows.Count
Spalten = Range(SourceRange).Columns.Count
With TargetRange.Cells(1, 1).Resize(Zeilen, Spalten)
.Formula = "=IF(" & strQuelle & "="""",""""," & strQuelle & ")"
.Value = .Value
End With
GetDataClosedWB = True
Exit Function
InvalidInput:
MsgBox "Die Quelldatei oder der Quellbereich ist ungültig!", vbExclamation, "Get data from closed Workbook"
GetDataClosedWB = False
End Function
- Definiere die Funktion zum Auslesen:
- Füge den folgenden Sub ein, um die Funktion zu verwenden:
Public Sub HoleDaten()
Dim Pfad As String
Dim Dateiname As String
Dim Blatt As String
Dim Bereich As String
Dim Ziel As Range
Pfad = "C:\Dein\Pfad\"
Dateiname = "Datei.xlsx" ' Hier den Namen deiner Datei angeben
Blatt = "Tabelle1" ' Hier den Namen des Blattes angeben
Bereich = "A1:B10" ' Hier den Bereich angeben, den du auslesen möchtest
Set Ziel = ActiveSheet.Range("A1") ' Zielzelle, in die die Daten übernommen werden sollen
If GetDataClosedWB(Pfad, Dateiname, Blatt, Bereich, Ziel) Then
MsgBox "Daten importiert"
End If
End Sub
- Führe das Makro aus:
- Kehre zur Excel-Oberfläche zurück, drücke
Alt + F8, wähle HoleDaten und klicke auf "Ausführen".
Häufige Fehler und Lösungen
Alternative Methoden
Praktische Beispiele
-
Daten aus einer geschlossenen Datei auslesen:
- Angenommen, du hast eine Datei namens
Daten.xlsx, die im Ordner C:\Daten\ gespeichert ist und du möchtest die Werte aus dem Bereich A1:B10 vom Blatt Tabelle1 in deine aktive Tabelle kopieren. Verwende den oben beschriebenen VBA-Code.
-
Daten aus mehreren geschlossenen Dateien auslesen:
- Du kannst eine Schleife in VBA erstellen, um durch eine Liste von Dateinamen zu iterieren und die Daten in einem Rutsch zu importieren.
Tipps für Profis
FAQ: Häufige Fragen
1. Kann ich Daten aus mehreren geschlossenen Dateien gleichzeitig auslesen?
Ja, du kannst eine Schleife in deinem VBA-Code verwenden, um durch eine Liste von Dateinamen zu iterieren.
2. Funktioniert das auch ohne VBA?
Die Möglichkeit, Daten aus geschlossenen Dateien auszulesen, ohne VBA zu verwenden, ist stark eingeschränkt. Die beste Methode ist die Verwendung von VBA.
3. Wie kann ich sicherstellen, dass die Datei nicht sichtbar geöffnet wird?
Wenn du die Datei im Hintergrund öffnest, ist sie für den Benutzer unsichtbar. Dies kannst du mit VBA steuern.
4. Gibt es eine Möglichkeit, Formeln aus geschlossenen Dateien auszulesen?
Ja, du kannst die INDIREKT-Funktion verwenden, jedoch nur, wenn die Datei geöffnet ist. Ansonsten wird ein Fehler angezeigt.