Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1376to1380
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
Inhaltsverzeichnis

Sverweis mit variierender Matrix

Sverweis mit variierender Matrix
03.09.2014 10:42:16
Arif
Hallo Community,
ich habe einen Code, der jeden Tag eine aktuelle Datei öffnet.
(Jeden Tag mit aktuellem Datum, Beispiel Format : 20140903_Demo.xlsx)
Im Nächsten Schritt soll täglich ein sVerweis auf die täglich neue Datei gezogen werden.
Ich habe versucht in den Sverweis die Variablen aus meinem vorherigen Code zu einzubauen, jedoch klappt das nicht wie von mir gedacht.
Als Matrix wollte ich im Sverweis "Format(Date, "yyyymmdd") & T " nehmen
(wobei T eine vorher definierte Variable ist für "_Demo.xlsx")
Was aber wie gesagt nicht geklappt hat.
Hat jemand eine Lösung dafür?
Mit freundlichen Grüßen

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

Betreff
Datum
Anwender
Anzeige
AW: Sverweis mit variierender Matrix
03.09.2014 11:00:36
Rudi
Hallo,
wenn man deinen Code und die Tabelle nicht kennt, ist's schwierig.
Schema:
.FormulaR1C1 = "=vlookup(RC1,'[" &Format(Date, "yyyymmdd") & T &"]Tabelle1'!C1:C3,3,0)"
Gruß
Rudi

AW: Sverweis mit variierender Matrix
03.09.2014 11:12:52
Arif
Hallo,
mein Fehler, hier ein wenig detailliertere Infos.
Der Code der die Datei täglich öffnet lautet:

Dim Pfad_LB, Teil_LB
Pfad_LB = "C:\Test"
Teil_LB = "_Bestand.xlsx"
Workbooks.Open Filename:=Pfad_LB & Format(Date, "yyyymmdd") & Teil_LB
Geöffnet wird durch dieses Makro die täglich aktuelle Datei mit Beständen (Name "*Datum*_Bestand.xlsx".(Nummer,Name,Menge etc.)
Ausgangssituation ist eine Arbeitsmappe(nennen wir sie mal "Mappe1") in der nur Artikelnummern in Spalte A stehen.
Ziel ist es mit einem Sverweis die Namen zu den jeweiligen Artikelnummern zu ziehen.
Ich hoffe dies gibt ausreichend Kontext um mir bei meinem Problem zu helfen.
Beispiel:
https://www.herber.de/bbs/user/92450.xlsx

Anzeige
AW: Sverweis mit variierender Matrix
03.09.2014 11:39:54
Arif

AW: Sverweis mit variierender Matrix
03.09.2014 11:52:26
Robert
Hallo Arif,
am einfachsten wäre vmtl im gleichen Makro den SVerweis entsprechend neu zu schreiben
ZielRange.FormulaR1C1 = "=VLOOKUP(RC[-1],'2. Arbeitsmappe(''DATUM''_BESTAND'!C1:C2,2,0)"
Als ZielRange entsprechend die Spalte mit den Produktnamen definieren.

AW: Sverweis mit variierender Matrix
05.09.2014 10:37:54
Arif
Ich verstehe die zu ersetzenden Bereiche noch nicht ganz, kannst du mir dies nochmal genau erläutern?
ZielRange.FormulaR1C1 = "=VLOOKUP(RC[-1],'2. Arbeitsmappe(''DATUM''_BESTAND'!C1:C2,2,0)"
Zielrange -ist denke ich klar, z.B. B2.
Arbeitsmappe - Da blicke ich nicht durch, der Dateiname ist täglich aktuell ( 20140905_Bestand.xlsx) Muss ich das in die Formel nicht als Variable einbauen?
Ich weiß nicht was ich mit "Arbeitsmappe" anfangen soll, theoretisch ist der Name
"Pfad_LB & Format(Date, "yyyymmdd") & Teil_LB"
Kannst du -oder irgendjemand- mir das noch einmal genau erläutern?

Anzeige
AW: Sverweis mit variierender Matrix
05.09.2014 13:36:12
Robert
Zielrange kann auch eine ganze Spalte sein (der vorteil der R1C1 schreibweise)
Aufbau ist ein SVerweis in englischer schreibweise. =Vlookup(Suchwert,Suchmatrix,Spaltenindex,0 für genaue Übereinstimmung)
1.Variable ist der Suchwert in R1C1 Schreibweise:
Beispiel: Linke Nachbarzelle der gleichen Reihe
RC[-1]

Danach kommt die Suchmatrix in R1C1 Schreibweise.
Beispiel: Spalten 1 - 3 von Tabelle1 aus Beispiel.xlsm
'[Beispiel.xlsm]Tabelle1'!C1:C3

Danach der Spaltenindex für den Zielwert und genaue Übereinstimmung ja/nein
Beispiel:
.FormulaR1C1 "=VLOOKUP(RC[-1],'[Beispiel.xlsm]Tabelle1'!C1:C3,2,0)"
Wenn du nun in Dateinamen Variablen Verwenden willst, musst du die Formel mit & "unterbrechen" und nach Einfügen der Variablen wieder fortführen:
Beispiel mit der Variable "Dateinummer" für die Auswahl der Quelldatei Beispiel11880.xlsm
Dateinummer = 1880
.FormulaR1C1 "=VLOOKUP(RC[-1],'[Beispiel" & DateiNummer & ".xlsm]Tabelle1'!C1:C3,2,0)"
Viele Grüße
Robert

Anzeige
AW: Sverweis mit variierender Matrix
05.09.2014 16:17:31
Arif
Hallo Robert,
ich denke der Groschen ist jetzt größtenteils gefallen, nur an der Matrix hapert es noch.
Mein sVerweis sieht bis jetzt so aus
.FormulaR1C1 "=VLOOKUP(R3C1,'[Beispiel" & Dateinummer & ".xlsm]Tabelle1'!C1:C3,3,0)"
Ich verstehe immer noch nicht wie ich den Dateinamen "Pfad_LB & Format(Date, "yyyymmdd") & Teil_LB" eingebaut bekomme - denn das ist ja der Dateiname-, und was hat es mit der Zahl 1880 auf sich?

AW: Sverweis mit variierender Matrix
08.09.2014 09:20:41
Robert
Hallo Arif,
Groschen ist anscheinend noch auf dem Weg / noch nicht ganz gefallen :)
Dateinummer = 1880
.FormulaR1C1 "=VLOOKUP(RC[-1],'[Beispiel" & DateiNummer & ".xlsm]Tabelle1'!C1:C3,2,0)"

Hier Wird in den Dateinamen eine Variable mit dem Namen "DateiNummer" eingebaut.
Je nachdem wie du "Dateinummer" vorher benennst, ändert sich die Datei.
z.B. mit

DateiNummer = Format(Date, "yyyymmdd")
Wird als Dateinummer das Aktuelle Datum Festgelegt
Im Anschluss wird mit

.FormulaR1C1 "=VLOOKUP(RC[-1],'[Beispiel" & DateiNummer & ".xlsm]Tabelle1'!C1:C3,2,0)"

die Datei "Beispiel20140908.xlsm" benutzt (eben entsprechend dem aktuellen Datum)
Nun zu dir Spezifisch:
Zunächst muss geklärt sein, was von deinem Dateinamen denn jetzt als Variable und was als Text übergeben wird.
Du sagst das hier wäre dein Dateiname:
"Pfad_LB & Format(Date, "yyyymmdd") & Teil_LB"
Sind Pfad_LB und Teil_LB Variablen? oder heißt das File tatsächlich so (z.B. "Pfad_LB20140908TeilLB.xlsx")
Viele Grüße
Robert

Anzeige
AW: Sverweis mit variierender Matrix
08.09.2014 10:21:48
Arif
Hallo Robert,
vielen Dank für deine Hilfe.
Eventuell habe ich mich unklar ausgedrückt, wodurch wir ein wenig aneinander vorbei gesprochen haben.
Als Referenz hierzu kann ggf. dieser Beitrag genommen werden :
https://www.herber.de/forum/archiv/1376to1380/t1379278.htm#1379278

Ich baue den Dateinamen quasi aus 3 Bausteinen auf, um täglich die aktuelle Datei zu öffnen:
Pfad_LB ist die Variable für den Dateipfand - bleibt fix-
Teil_LB ist der Zusatz, den die Datei jeden Tag hat - ebenfalls fix-
Format(Date, "yyyymmdd") ist das aktuelle Datum.
Das Resultat hieße dann:
"C:\Testverzeichnis\20140908_Beispiel.xlxs"
Jene täglich neue Datei soll dann eben die aktuelle Matrix im sVerweis bilden.

Anzeige
AW: Sverweis mit variierender Matrix
08.09.2014 11:09:41
Robert
Das bedeutet ja in dem Fall, dass du 3 Variablen hast, die den Dateinamen bilden.
.FormulaR1C1 "=VLOOKUP(RC[-1],'[" & PfadLB & Format(Date, "yyyymmdd") & TeilLB & "]Tabelle1'!C1:C3,2,0)"
z.B. mit
PfadLB = "C:\OrdnerdeinerWahl\Liste_"
TeilLB = "_V3.xlsx"
Wird Folgende Datei benutzt:
C:\OrdnerdeinerWahl\Liste_20140908_V3.xlsx
Grüße

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige