Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
128to132
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
128to132
128to132
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

SVERWEIS

SVERWEIS
14.06.2002 11:14:21
Achim
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: SVERWEIS
14.06.2002 11:43:50
Martin Beck
Hallo Achim,

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

Gruß
Martin Beck

Re: SVERWEIS
14.06.2002 16:47:56
Daniel R.
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.


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige