Live-Forum - Die aktuellen Beiträge
Datum
Titel
03.10.2025 22:18:19
03.10.2025 18:57:58
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VLOOKUP in eine andere Datei

VLOOKUP in eine andere Datei
06.04.2016 06:58:30
Kathi
Guten Morgen,
nachdem ich gut mit meiner Liste voran komme, stehe ich vor der nächsten Herausforderung.
Ich benötige in der Datei "Auswertung" in der Spalte F einen SVerweis in eine andere Datei "Begriffe" (Rückgabewert 2) solange in der Datei "Auswertung"in der Spalte A "".
Habe es schon mit dem Makrorecorder versucht - leider erfolglos.

Sub SVerweisMakrorecorder()
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-1],[Begriffe.xls]Tabelle1!C5:C6,2,FALSE)"
End Sub

Dieser Code hier funktioniert leider auch nicht:

Sub testSVerweis()
Dim z As Long
Dim lz As Long
Dim s As Integer
z = Range("F65536").End(xlUp).Row
On Error Resume Next
For z = 1 To z
Cells(z, s).Value = VLOOKUP(RC[-1],[Begriffe.xls]Tabelle1!C5:C6,2,FALSE)
If Err.Number > 0 Then
Err.Clear
Cells(z, s) = "#NV!"
End If
Next s
Next z
End Sub

Könnt ihr mnir bitte wiedereinmal weiterhelfen?!
Liebe Grüße

Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Falsche Matrix im SVerweis
06.04.2016 08:27:14
Michael

=VLOOKUP(RC[-1],[Begriffe.xls]Tabelle1!C5:C6,2,FALSE)
Die Formel kann nicht funktionieren, da die Matrix (C5:C6) nur eine Spalte lang ist, du aber den Wert aus der zweiten Spalte zurück geben möchtest.

AW: Falsche Matrix im SVerweis
06.04.2016 08:33:09
Kathi
Hmmm danke ... habs jetzt auf Tabelle1!C:D geändert, es funktioniert aber noch immer nicht, weil ich jetzt bei RC[-1] eine Fehlermeldung bekomme. :-/

Anzeige
AW: Falsche Matrix im SVerweis
06.04.2016 08:33:44
Kathi
Kann die Datei leider nicht hochladen (zu groß).

AW: Falsche Matrix im SVerweis
06.04.2016 08:34:42
ChrisL
Hi Kathi
Sub t()
Dim z As Long
Dim s As Integer
z = 1
s = 1
Cells(z, s).FormulaR1C1 = _
"=VLOOKUP(RC[-1],'C:\Pfad\[Begriffe.xls]Tabelle1'!C:D,2,FALSE)"
End Sub

Variable s stimmt noch nicht. Next ohne For.
cu
Chris

Anzeige
AW: Falsche Matrix im SVerweis
06.04.2016 09:09:55
Kathi
Danke!
Ich steh komplett auf der Leitung.
Jetzt muss ich doch eigentlich "nur" noch eine Schleife darum basteln oder? Do Until hätte ich jetzt in Erwägung gezogen. Was hältst du davon?
LG

Doppelter Vergleich / Index
06.04.2016 14:37:27
Michael
Ich würde kein Do - Until nehmen, dieser Schleifentyp kann sich aufhängen wenn die Until-Bedingung nicht erreicht wird.
Ich nehme an du willst das in viele Zellen eines bestimmten Bereichs schreiben, dann wäre sowas gut:
For Each c in Range("A1:A200")
c.Formula = _
"=VLOOKUP(RC[-1],'C:\Pfad\[Begriffe.xls]Tabelle1'!C:D,2,FALSE)"
Next c

Anzeige
AW: Doppelter Vergleich / Index
06.04.2016 14:57:53
ChrisL
Hi
Ich denke da reicht sogar:
Range("A1:A200").FormulaR1C1 = _
"=VLOOKUP(RC[-1],'C:\Pfad\[Begriffe.xls]Tabelle1'!C:D,2,FALSE)"
cu
Chris

AW: VLOOKUP in eine andere Datei
06.04.2016 09:08:33
Kathi
So ich habe jetzt schnell eine Beispieldatei gebastelt.
In der Lagerliste.xlsx soll in der Spalte F bis zur letzten Zeile die Farbe eingetragen werden.
Die Farbe ist eingetragen in Begriffe.xlsx.
In beiden Listen habe ich eine ID.
https://www.herber.de/bbs/user/104791.xlsx
https://www.herber.de/bbs/user/104792.xlsx
Das ist sicher wieder so einfach, dass ich mich in Grund und Boden genieren werde, aber ich habe es leider nicht mit dem Internet und euren bisherigen Anregungen hinbekommen. :-/
Liebe Grüße

Anzeige
AW: VLOOKUP in eine andere Datei
06.04.2016 09:38:07
Daniel
Hi Kathi
hier mal der Code für deine Beispieldatei.
den Dateinamen in der Formel musst du natürlich anpassen.
Die Datei muss genöffnet sein (sonst müsstest du den Dateipfad noch mit angeben)
der Zellbezug von Dateiname bis Tabellenblatt sollte immer in Hochkommas gesetzt werden.
die Hochkommas sind immer erforderlich, wenn der Zellbezug ein Sonderzeichen enthält, und hier zählt schon das einfache Leerzeichen als Sonderzeichen:
Sub FarbeEinfügen()
With Columns(5).SpecialCells(xlCellTypeConstants, 1) 'alle Zellen in Spalte E, die eine Zahl ( _
ID-Nr) enthalten
.Offset(0, 1).FormulaR1C1 = "=VLookUp(RC[-1],'[104791.xlsx]Tabelle1'!C1:C2,2,0)"
.Formula = .Value
End With
.Cells(1, 6).Value = "Farbe"
End Sub

Gruß Daniel

Anzeige
AW: VLOOKUP in eine andere Datei
06.04.2016 10:15:30
Kathi
Vielen Dank!
Ich werde es gleich nachher ausprobieren.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

VLOOKUP in eine andere Datei


Schritt-für-Schritt-Anleitung

  1. Öffne beide Excel-Dateien: Stelle sicher, dass sowohl die Datei "Auswertung" als auch "Begriffe" geöffnet sind.

  2. Verwende die richtige Formel: In der Datei "Auswertung" kannst Du die folgende Formel verwenden, um einen SVerweis in eine andere Datei durchzuführen:

    =VLOOKUP(A1, '[Begriffe.xlsx]Tabelle1'!$A$1:$B$100, 2, FALSE)
  3. Anpassung für VBA: Wenn Du den SVerweis in einem VBA-Makro nutzen möchtest, kannst Du den folgenden Code verwenden:

    Sub SVerweisInAndereDatei()
       Dim z As Long
       z = Range("F65536").End(xlUp).Row
       For i = 1 To z
           Cells(i, 6).Formula = "=VLOOKUP(A" & i & ",'[Begriffe.xlsx]Tabelle1'!$A$1:$B$100,2,FALSE)"
       Next i
    End Sub
  4. Formel anpassen: Stelle sicher, dass die Matrix (z.B. Tabelle1!C:D) korrekt definiert ist und genügend Spalten enthält, um den Rückgabewert zu liefern.


Häufige Fehler und Lösungen

  • Fehler: #NV!: Dieser Fehler tritt häufig auf, wenn der gesuchte Wert nicht in der angegebenen Matrix gefunden werden kann. Überprüfe, ob die eingegebenen Werte in der Matrix vorhanden sind.

  • Fehler: Matrix zu klein: Wenn Du versuchst, einen Wert aus einer nicht vorhandenen Spalte zurückzugeben (z.B. C5:C6), erhältst Du einen Fehler. Stelle sicher, dass Deine Matrix mindestens zwei Spalten hat.


Alternative Methoden

  • INDEX/MATCH Kombination: Anstelle des SVerweises kannst Du auch die Kombination von INDEX und MATCH verwenden, um flexibler zu sein. Beispiel:

    =INDEX('[Begriffe.xlsx]Tabelle1'!$B$1:$B$100, MATCH(A1, '[Begriffe.xlsx]Tabelle1'!$A$1:$A$100, 0))
  • Power Query: Wenn Du mit großen Datenmengen arbeitest, kann Power Query eine effizientere Lösung bieten, um Daten aus verschiedenen Excel-Dateien zu importieren und zu transformieren.


Praktische Beispiele

  1. Beispiel für SVerweis in VBA:

    Sub BeispielSVerweis()
       Dim ws As Worksheet
       Set ws = ThisWorkbook.Sheets("Auswertung")
       With ws
           .Range("F2:F100").FormulaR1C1 = "=VLOOKUP(RC[-5],'[Begriffe.xlsx]Tabelle1'!C1:C2,2,FALSE)"
       End With
    End Sub
  2. SVerweis für mehrere Zellen:

    Sub SVerweisMehrereZellen()
       Dim c As Range
       For Each c In Range("A1:A200")
           c.Offset(0, 5).FormulaR1C1 = "=VLOOKUP(RC[-5],'[Begriffe.xlsx]Tabelle1'!C1:C2,2,FALSE)"
       Next c
    End Sub

Tipps für Profis

  • Verwende absolute Bezüge: Bei SVerweisen ist es ratsam, absolute Bezüge (z.B. $A$1:$B$100) zu verwenden, um sicherzustellen, dass sich der Bezug nicht verschiebt, wenn Du die Formel kopierst.

  • Dateipfad korrekt angeben: Wenn die Datei "Begriffe" nicht geöffnet ist, musst Du den vollständigen Dateipfad angeben:

    =VLOOKUP(A1, 'C:\Pfad\[Begriffe.xlsx]Tabelle1'!$A$1:$B$100, 2, FALSE)

FAQ: Häufige Fragen

1. Warum funktioniert mein SVerweis nicht, wenn die andere Datei geschlossen ist? Um den SVerweis auf eine andere Datei zu verwenden, muss die Datei geöffnet sein oder Du musst den vollständigen Dateipfad in der Formel angeben.

2. Kann ich VLOOKUP in VBA verwenden? Ja, Du kannst VLOOKUP in VBA verwenden, indem Du die Formel direkt in eine Zelle schreibst oder VBA-Funktionen wie Evaluate nutzt.

3. Was ist der Unterschied zwischen SVerweis und WVerweis? SVerweis sucht in der ersten Spalte der Matrix, während WVerweis in der letzten Zeile sucht. WVerweis wird seltener verwendet und ist nicht in allen Excel-Versionen verfügbar.

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