Hallo zusammen,
ich möchte in Abhängigkeit von Zelle D3 & A10 die Zelle C1 mit Daten (Zahlen bzw. Alphanummerische Ausdrücke) aus einem anderen Tabellenblatt befüllen. Das funktioniert bei mir einfach mit: {INDEX(BlattX!$A$1:$M$3043;VERGLEICH($D$3&$A10;INDEX(BlattX!$A$1:$M$3043;;1)&INDEX(BlattX!$A$1:$M$3043;;2);0);3)}
In Spalte G kann der User eigene Daten eintragen. Da hier aber sehr oft auch einfach Standarddaten eingetragen werden, möchte ich einen Button zur Verfügung stellen, der bei Klick ebenfalls in Abhängigkeit von D3 & A10 aus einem Tabellenblatt die entsprechenden Daten einträgt. Dass ich dafür eine Schleife benötige, um Spalte G zu füllen, ist mir klar, der Einfachheit halber lass ich das Problem aber außen vor. Ich scheitere nämlich bereits daran die obige Indexformel in VBA umzusetzen.
Bislang versucht habe ich es mit:
dim wert as Variant
wert = Evaluate("=INDEX(BlattX!$A$1:$M$3043;VERGLEICH($D$3&$A10;INDEX(BlattX!$A$1:$M$3043;;1)&INDEX(BlattX!$A$1:$M$3043;;2);0);3)2)
Dann bekomme ich aber #WERT! als Zelleneintrag.
Und formulaarray bzw. der Makrorekorder Lösung:
Range("G1").Select
Selection.FormulaArray = _
"=INDEX(BlattX!R1C1:R3043C13,MATCH(R3C4&RC1,INDEX(BlattX!R1C1:R3043C13,,1)&INDEX(BlattX!R1C1:R3043C13,,2),0),3)"
Dann bekomme ich die Meldung Formula-Array Eigenschaft des Range Objekts kann nicht festgelegt werden
Weitere Lösungsmöglichkeiten:
- Alle möglichen Einträge in D3 mit Case abfangen und dann quasi einen einfachen Sverweis nach A10 machen -> funktioniert aber nicht effizient.
- "Doppeltes Finden" - zuerst Spalte, dann Zeile per find festlegen -> wahrscheinlich der vielversprechendste Ansatz aber bislang nicht erfolgreich.
Vielen Dank für jede Hilfe :)
|