Geschlossene Arbeitsmappe durchsuchen und Daten auslesen
Schritt-für-Schritt-Anleitung
Um Werte aus einer geschlossenen Excel-Arbeitsmappe zu durchsuchen und in eine Textbox zu übernehmen, kannst Du den folgenden VBA-Code verwenden. Dieser öffnet die geschlossene Arbeitsmappe im Hintergrund, sucht nach den benötigten Werten und schließt die Mappe anschließend wieder.
-
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu (Einfügen > Modul).
-
Kopiere den folgenden Code in das Modul:
Private Sub CommandButton1_Click()
Dim strMappe As String ' Pfad & Name der Quellmappe
Dim lngZeile As Long ' Zeilenzähler für die Quellmappe
Dim blnWahr As Boolean
Dim arrDaten()
Application.ScreenUpdating = False ' Bildschirmaktualisierung aus
strMappe = "E:\Test\[geschlossene_mappe.xlsx]Tabelle1" ' Pfad zur Datei
' Hier den Suchvorgang einfügen und die ID in TextBox übernehmen
If blnWahr = True Then
TextBox4 = arrDaten(0) ' ID in TextBox übernehmen
Else
MsgBox "Keine Übereinstimmung gefunden"
End If
Application.ScreenUpdating = True ' Bildschirmaktualisierung ein
End Sub
-
Passe den Pfad zur geschlossenen Datei an.
-
Füge eine Textbox in Dein Arbeitsblatt ein und verknüpfe sie mit TextBox4.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn Du keine VBA-Methode verwenden möchtest, kannst Du auch Excel-Formeln nutzen, um Daten aus einer geschlossenen Datei auszulesen. Zum Beispiel:
- Verwende die SVerweis- oder Index- und Vergleichsformeln, um auf Daten in der geschlossenen Arbeitsmappe zuzugreifen.
-
Beispiel einer SVerweis-Formel:
=SVERWEIS(A1; '[geschlossene_mappe.xlsx]Tabelle1'!A:G; 2; FALSCH)
Diese Formel sucht den Wert in Zelle A1 in der geschlossenen Arbeitsmappe und gibt den entsprechenden Wert aus der zweiten Spalte zurück.
Praktische Beispiele
Hier ist ein konkretes Beispiel, wie Du Daten aus einer geschlossenen Arbeitsmappe auslesen kannst:
- Angenommen, Du hast eine geschlossene Arbeitsmappe mit dem Namen
Daten.xlsx, in der sich in Spalte A die IDs und in Spalte B die Werte befinden.
-
Der folgende VBA-Code sucht nach einer ID und gibt den entsprechenden Wert in einer Textbox aus:
Private Function GetValue(datei, zelle)
Dim arg As String
arg = "'" & datei & "'!" & Range(zelle).Range("A1").Address(, , xlR1C1)
GetValue = ExecuteExcel4Macro(arg)
End Function
Verwende diesen Code in Verbindung mit dem vorherigen, um die ID zu finden und den Wert in einer Textbox anzuzeigen.
Tipps für Profis
- Nutze
Application.ScreenUpdating = False, um das Öffnen der Mappe zu verbergen und die Performance zu verbessern.
- Teste Deine VBA-Programme immer mit einer Testdatei, um ungewollte Änderungen an wichtigen Daten zu vermeiden.
- Wenn Du häufig mit geschlossenen Arbeitsmappen arbeitest, erstelle eine Sammlung nützlicher VBA-Funktionen zur Datenverarbeitung.
FAQ: Häufige Fragen
1. Kann ich Daten aus einer geschlossenen Arbeitsmappe ohne VBA auslesen?
Ja, Du kannst Excel-Formeln wie SVerweis oder Index+Vergleich verwenden, um Daten aus einer geschlossenen Arbeitsmappe abzurufen.
2. Welche Excel-Version benötige ich für das Auslesen von Daten aus geschlossenen Arbeitsmappen?
Die beschriebenen Methoden sind in den meisten modernen Excel-Versionen (Excel 2010 und höher) verfügbar.