SVERWEIS



Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: SVERWEIS
von: Achim
Geschrieben am: 14.06.2002 - 11:14:21

Hallo!

ich habe ein Problem mit der Funktion SVERWEIS:

Mit SVERWEIS greife ich auf eine externe Datei zu:
=SVERWEIS($B16;C:\...\[040602.xls]040602'!$C:$F;4;FALSCH)

Den Namen der Datei incl. Pfad möchte ich gerne ich einer
anderen Zelle (A1) stehen haben, da dieser variiert. Den
Pfad habe ich bereits in A1 abgelegt. Wenn ich jetzt die
Formel umschreibe

=SVERWEIS($B16;A1;4;FALSCH)

gibt er #NV aus.

Mit INDIREKT kann ich nicht arbeiten, da die betroffene Datei nicht geöffnet sein soll!

Ich suche nach Möglichkeit eine Lösung ohne VBA!

Danke
Achim

nach oben   nach unten

Re: SVERWEIS
von: Martin Beck
Geschrieben am: 14.06.2002 - 11:43:50

Hallo Achim,

geht m.W. nur mit Bearbeiten-Ersetzen des Pfades.

Gruß
Martin Beck


nach oben   nach unten

Re: SVERWEIS
von: Daniel R.
Geschrieben am: 14.06.2002 - 16:47:56

Hallo Achim
Eine Lösung mit VBA wäre gar nicht so kompliziert. Lass während dem Schreiben der Sverweis-Funktion den Makrorecorder laufen. Dabei wird die Funktion vollumfänglich in VBA generiert. Ich habe folgende Sverweis-Funktion aufgezeichnet (Cursor steht in Zelle a1):

=WENN(D1>0;WENN(ISTFEHLER(SVERWEIS(D1;'C:\Master\[Artikelliste.xls]ROHSTOFFE 123'!$A$5:$B$5000;2;FALSCH));"Falsche Nummer";SVERWEIS(D1;'C:\Master\[Artikelliste.xls]ROHSTOFFE 123'!$A$5:$B$5000;2;FALSCH));"")

Dabei wird der folgende VBA-Code generiert:

ActiveCell.FormulaR1C1 = _
"=IF(RC[+3]>0,IF(ISERROR(VLOOKUP(RC[+3]," & pfad1 & "!R5C1:R5000C2,2,FALSE)),""Falsche Nummer"",VLOOKUP(RC[+3]," & pfad1 & "!R5C1:R5000C2,2,FALSE)),"""")"

Wenn ein Wert in die betreffende Zelle eingelesen wurde, muss die Sverweis-Funktion wieder gelöscht werden:

Selection.ClearContents

Den Pfad sowie den Dateinamen in der (VBA) Formel ersetze ich durch eine Variable (pfad1). Diese werden vorweg wie folgt definiert:

datei = "Artikelliste.xls"
pfad = "'C:\Master\[Artikelliste.xls]"
blatt1 = "ROHSTOFFE 123'"
blatt2 = "ROHSTOFFE passiv'"
pfad1 = pfad + blatt1
pfad2 = pfad + blatt2

Beachte die exakte Schreibweise Anführungs- und Abschlusszeichen.

Den Variablen kann nun über eine Zelle jeder beliebige Wert (Pfad oder Dateiname) übergeben werden. Das funktioniert tadellos. Die Tabellen aus denen Werte ausgelesen werden sollen, müssen nicht geöffnet werden.

Vielleicht hilft Dir dieser Hinweis weiter. Ansonsten melde dich noch mal.

Gruss Daniel R.


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "SVERWEIS"