S-Verweis auf geschlossene Datei in Excel
Schritt-für-Schritt-Anleitung
Um einen S-Verweis auf eine geschlossene Excel-Datei durchzuführen, kannst du die ExecuteExcel4Macro
-Methode nutzen. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
-
VBA-Editor öffnen: Drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Modul erstellen: Klicke im Projektfenster mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle Einfügen > Modul
.
-
Code einfügen: Füge den folgenden Code in das Modul ein:
Sub SSuchen()
Dim sPfad As String, sDatei As String, sTab As String, sRange As String
Dim sSuchwert As String, sFormelString As String
Dim vErgebnis As Variant
sPfad = "'G:\Sites\Beringe2\xxx\KME\Control Tower\Express file\" 'Pfad
sDatei = "[2010 Week 38.xls]" 'Datei
sTab = "Sheet1'!" 'Tabelle
sRange = "I:K" 'Zellbereich
sSuchwert = "7772010866" 'Suchwert
'String zusammensetzen
sFormelString = sPfad & sDatei & sTab & sRange
vErgebnis = ExecuteExcel4Macro("VLOOKUP(" & sSuchwert & "," & sFormelString & ",2,FALSE)")
If Not IsError(vErgebnis) Then
MsgBox "Ergebnis: " & vErgebnis, vbInformation
Else
MsgBox "Suchwert: " & sSuchwert & " wurde nicht gefunden!", vbExclamation
End If
End Sub
-
Makro ausführen: Schließe den VBA-Editor und führe das Makro über Entwicklertools > Makros
aus.
Häufige Fehler und Lösungen
-
Typ mismatch: Dieser Fehler tritt auf, wenn die Variablen nicht richtig deklariert sind oder der Suchwert nicht im korrekten Format vorliegt. Stelle sicher, dass der Suchwert und die Zellbereiche korrekt definiert sind.
-
S-Verweis funktioniert nicht: Überprüfe den Pfad, die Dateinamen und die Tabellennamen. Alle sollten exakt übereinstimmen, einschließlich der Verwendung von Apostrophen und eckigen Klammern.
-
Dateiauswahl-Dialog erscheint: Wenn Excel fragt, wo die Datei ist, hast du möglicherweise den Pfad nicht korrekt angegeben. Stelle sicher, dass der Pfad mit einem Apostroph beginnt und mit einem Backslash endet.
Alternative Methoden
Neben der Verwendung von ExecuteExcel4Macro
kannst du auch die Evaluate
-Methode nutzen, um einen S-Verweis auf eine geschlossene Datei durchzuführen. Hier ist ein Beispiel:
Dim z As Variant
z = Evaluate("VLookup(" & Suchbegriff & "," & sPfad & sDatei & sTab & sRange & ",2,0)")
Mit dieser Methode musst du sicherstellen, dass der Suchbegriff korrekt als Text formatiert ist, falls erforderlich.
Praktische Beispiele
Hier sind einige praktische Beispiele für die Verwendung von S-Verweisen auf geschlossene Dateien:
-
S-Verweis auf eine geschlossene Datei:
Dim vErgebnis As Variant
vErgebnis = ExecuteExcel4Macro("VLOOKUP(7772010866, 'G:\Sites\Beringe2\xxx\KME\Control Tower\Express file\[2010 Week 38.xls]Sheet1'!I:K, 2, FALSE)")
-
Dynamischer Suchwert:
Dim Suchwert As String
Suchwert = MLF_Test.MP13_5
vErgebnis = ExecuteExcel4Macro("VLOOKUP(" & Suchwert & ",'G:\Sites\Beringe2\xxx\KME\Control Tower\Express file\[2010 Week 38.xls]Sheet1'!I:K, 2, FALSE)")
Tipps für Profis
- Achte darauf, dass die Dateinamen und Pfade keine Leerzeichen oder Sonderzeichen enthalten, die zu Problemen führen könnten.
- Verwende die R1C1-Schreibweise für Zellbereiche, um Verwirrung zu vermeiden.
- Teste deine Formeln und Makros gründlich, um sicherzustellen, dass sie unter verschiedenen Bedingungen funktionieren.
FAQ: Häufige Fragen
1. Warum funktioniert der S-Verweis auf eine geschlossene Datei nicht?
Es kann sein, dass der Pfad oder der Dateiname falsch ist. Überprüfe alle Angaben auf Richtigkeit.
2. Was ist der Unterschied zwischen SVERWEIS und WVERWEIS?
SVERWEIS sucht in einer Spalte, während WVERWEIS in einer Zeile sucht. Verwende SVERWEIS, wenn deine Daten in Spalten angeordnet sind.
3. Wie kann ich sicherstellen, dass mein Suchwert als Text erkannt wird?
Um sicherzustellen, dass der Suchwert als Text erkannt wird, setze Anführungszeichen um den Wert in der Formel.