>> 1: Die Funktion funktioniert nur mit numerischen Eingaben bei Key.
Danke. Deine Lösung ist natürlich viel eleganter und einfacher als meine, einfach eine 2. Funktion zu schreiben. Super. Da fehlen mir einfach (noch) die möglichen Funktionen, die ich verwenden kann.
>> 2: Die Funktion funktioniert nicht mit Table in einer anderen Excel-Mappe, auch nicht, wenn sie gleichzeitig geöffnet ist.
Der eigentliche Verwendungszweck würde hier zu weit führen, aber ich habe ein einfacheres fast analoges Beispiel:
Ich möchte z.B. eine Fakturierung mit Excel machen (gibt's vermutlich schon 1000x, aber eine eigene ist immer besser ;-)
Dazu soll aus vorhandenen Tabellen die Kundendaten und die Artikeldaten, etc über einen Key geholt werden. Da es pro Angebot/Lieferschein/Rechnung ja (fast) beliebig viele Positionen gibt, macht es wohl nur Sinn, eine .xlsx Arbeitsmappe pro Angebot/Lieferschein/Rechnung zu verwenden (z.B. durch Kopie einer Blanko-Arbeitsmappe. Ein Arbeitsblatt pro Rechnung wäre nicht sinnvoll, da zu viele Rechnungen im Monat/Jahr geschrieben werden, das wäre zu unübersichtlich in einer Arbeitsmappe/Datei. Daher lassen wir die Verwaltung der vielen Rechnungen lieber dem Filesystem ;-)
Natürlich möchte ich jetzt nicht in jeder Arbeitsmappe (.xlsx) alle Adressen aller Kunden und alle Artikel des kompletten Artikelstammes, usw. in Kopie in der Datei drin haben, daher eine ausgelagerte ("Stammdaten-") Datei, wo z.B. jede Mappe dann ein Table ist.
Mit INDEX/VERGLEICH geht das. Man kann einfach eine andere Arbeitsmappe mit z.B. =[Mappe1.xls]Tabelle1!$A$1:$C$12 anprechen. Mit der Funktion habe ich das nicht hinbekommen, ich weiß noch nicht genau wieso nicht.
So, nachdem ich das bis hierhin geschrieben hatte, habe ich noch weitere Tests gemacht, warum das eigentlich nicht funktioniert. Und siehe da: Es funktioniert doch! Auch mit externen Dateien!
Mein Fehler war, dass ich meine UDF (natürlich) auch in jede neue Excel-Mappe kopieren muss. Da hat Excel mich ein wenig überlistet: Datei 1 geöffnet, UDF hineinkopiert, Datei 2 geöffnet, UDF angewendet -> geht NICHT! (Obwohl im VB-Editor noch sichtbar (von Datei 1)). Aber dann auch in Datei 2 kopiert -> geht!
FAZIT: Alle Probleme gelöst, alles gut, alles prima, sehr dankbar für die Hilfe hier! Ich hoffe, ich kann das später mal jemand anderem "zurückzahlen", wenn ich mal was weiß ;-) !
|