Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: SVerweis in geschlossene Datei per VBA

SVerweis in geschlossene Datei per VBA
08.05.2019 15:08:36
Addi
Hallo Zusammen, ich möchte einen SVerweis in eine geschlossene Datei machen, kann dies aber leider nicht aufzeichnen und meine Versuche sind bisher gescheitert.
Wie lautet der korrekte Code...der Folgende funktioniert leider nicht...
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[8],'S:\Ordner1\Unterordner1\Unterordner2\NameDerDatei.xlsx]NameRegisterblatt'!R2C1:R590C6,6,0)"
Habt Ihr eine Idee wie das richtig aussehen muss?
Vielen Dank und Gruß
Adrian
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SVerweis in geschlossene Datei per VBA
08.05.2019 15:14:48
Jacob
Hallo Addi,
weshalb unbedingt per VBA?
Ich habe auch ein Projekt, in dem ich mit einem SVerweis auf eine geschlossene Datei zugreifen will.
Meine Formel dafür sieht, vereinfacht, folgendermaßen aus:
=SVERWEIS($A$2;'S:\Ordner1\Unterordner1\[NameDerDatei.xlsm]Tabellenblatt'!$A$2:$J$100;5;FALSCH) 
und funktioniert tadellos ohne VBA direkt aus dem Tabellenblatt heraus.
LG
Jacob
Anzeige
AW: SVerweis in geschlossene Datei per VBA
08.05.2019 15:39:20
Addi
Hallo Jacob,
das ist Part von einem umfangreichen Makro, von daher muss es ein VBA Coding sein.
Danke für Deine Antwort - der Kollege UweD hat mich bereits auf meinen Fehler hingewiesen.
Ist somit erledigt.
VG Addi
AW: SVerweis in geschlossene Datei per VBA
08.05.2019 15:20:38
UweD
Hi
auf Anhieb... eine Fehlende [
=VLOOKUP(RC[8],'S:\Ordner1\Unterordner1\Unterordner2\[NameDerDatei.xlsx]NameRegisterblatt'!R2C1:R590C6,6,0) 
LG UweD
Anzeige
AW: SVerweis in geschlossene Datei per VBA
08.05.2019 15:37:41
Addi
Hallo UweD,
oh man...das war es...vielen Dank für Deine Hilfe!!
VG Adrian
Prima! Danke für die Rückmeldung. owT
08.05.2019 15:39:11
UweD
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

SVerweis in geschlossene Datei per VBA


Schritt-für-Schritt-Anleitung

Um einen SVerweis in einer geschlossenen Excel-Datei per VBA auszuführen, kannst du den folgenden VBA-Code verwenden. Achte darauf, dass der Pfad zur Datei und die Referenz zum Arbeitsblatt korrekt sind.

ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[8],'S:\Ordner1\Unterordner1\Unterordner2\[NameDerDatei.xlsx]NameRegisterblatt'!R2C1:R590C6,6,0)"

Dieser Code setzt die Formel in die aktive Zelle ein. Stelle sicher, dass du die eckigen Klammern [ und ] um den Dateinamen richtig setzt, da dies häufig zu Fehlern führt.


Häufige Fehler und Lösungen

  1. Fehlende eckige Klammern: Wenn du einen SVerweis in VBA verwendest, achte darauf, dass der Dateiname in eckige Klammern gesetzt wird. Ein häufiges Problem ist das Fehlen der ersten eckigen Klammer, wie im folgenden Beispiel:

    ActiveCell.FormulaR1C1 = _
    "=VLOOKUP(RC[8],'S:\Ordner1\Unterordner1\Unterordner2[NameDerDatei.xlsx]NameRegisterblatt'!R2C1:R590C6,6,0)"

    Die korrekte Version sieht so aus:

    ActiveCell.FormulaR1C1 = _
    "=VLOOKUP(RC[8],'S:\Ordner1\Unterordner1\Unterordner2\[NameDerDatei.xlsx]NameRegisterblatt'!R2C1:R590C6,6,0)"
  2. Unsichtbare Zeichen: Wenn der Code nicht funktioniert, überprüfe, ob unsichtbare Zeichen im Pfad oder Dateinamen vorhanden sind.


Alternative Methoden

Wenn du keinen VBA-Code verwenden möchtest, kannst du auch direkt aus einer offenen Excel-Datei einen SVerweis auf eine geschlossene Datei durchführen. Hier ist eine vereinfachte Formel:

=SVERWEIS($A$2;'S:\Ordner1\Unterordner1\[NameDerDatei.xlsm]Tabellenblatt'!$A$2:$J$100;5;FALSCH)

Diese Methode funktioniert, solange die Datei geöffnet ist und kann manchmal einfacher sein, wenn du keine komplexen Makros benötigst.


Praktische Beispiele

Angenommen, du möchtest Daten aus einer geschlossenen Datei namens Daten.xlsx abrufen. Der SVerweis würde dann so aussehen:

ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[1],'S:\Daten\[Daten.xlsx]Sheet1'!R1C1:R10C2,2,FALSE)"

In diesem Beispiel wird die Zelle in der aktiven Zeile nach dem Wert in der ersten Spalte des Bereichs in der geschlossenen Datei suchen und den entsprechenden Wert aus der zweiten Spalte zurückgeben.


Tipps für Profis

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung in deinem VBA-Code, um unerwartete Probleme zu vermeiden. Zum Beispiel:
On Error Resume Next
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[8],'S:\Ordner1\Unterordner1\Unterordner2\[NameDerDatei.xlsx]NameRegisterblatt'!R2C1:R590C6,6,0)"
If Err.Number <> 0 Then
    MsgBox "Fehler beim Einfügen der Formel: " & Err.Description
    Err.Clear
End If
  • Dokumentation: Halte deine VBA-Module gut dokumentiert, damit du später leicht nachverfolgen kannst, was jede Funktion macht.

FAQ: Häufige Fragen

1. Kann ich SVerweis in VBA auch für mehrere Zeilen verwenden?
Ja, du kannst eine Schleife verwenden, um die Formel für mehrere Zeilen in einem Arbeitsblatt zu setzen.

2. Was mache ich, wenn der Pfad zur Datei sich ändert?
Es ist ratsam, den Pfad in einer separaten Zelle zu speichern und dann in deinem VBA-Code darauf zuzugreifen. So kannst du den Pfad einfach aktualisieren, ohne den Code zu verändern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige