Lookup / Verweis

Ich hab noch eine Frage bezüglich der VB-Funktion Lookup bzw. Verweis.

VERWEIS(Suchkriterium;Suchvektor;Ergebnisvektor)

Wenn ich die Funktion ausführe und im Suchvektor das Suchkriterium nicht vorhanden ist, dann wir ja als Ergebnis das nächst kleinere Datum aus dem Suchvektor als Ergebnis zurück gegeben.
Ich möchte aber, dass nicht das nächst kleinere Datum zurück gegeben wird, sondern ein vordefiniertes Datum. Ist das irgendwie möglich?

MfG
christoph

VERWEIS(Suchkriterium;Suchvektor;Ergebnisvektor)
Wenn ich die Funktion ausführe und im Suchvektor das
Suchkriterium nicht vorhanden ist, dann wir ja als Ergebnis
das nächst kleinere Datum aus dem Suchvektor als Ergebnis
zurück gegeben.
Ich möchte aber, dass nicht das nächst kleinere Datum zurück
gegeben wird, sondern ein vordefiniertes Datum. Ist das
irgendwie möglich?

Hi christoph,
probiers mal so:

 A B C D E 
1 1.1.04 a 3.1.04 =WENN(D1=VERWEIS(D1;A1:A3;A1:A3);VERWEIS(D1;A1:A3;B1:B3);"15.12.04")

2 12.1.04 b 
3 4.1.04 c

Gruß
Reinhard

Hallo Reinhard,

erst mal vielen Dank für den Tip. Hat mir schon mal weiter geholfen.
Trotzdem hab ich immer noch ein Problem:
Wenn ich die Formel direkt in Excel eingeben klappts auch ohne Probleme. Hier die Formel
WENN(B3:B32=VERWEIS(B3:B32;Namenstabelle!A2:A30;Namenstabelle!A2:A30);VERWEIS(B3:B32;Namenstabelle!A2:A30;Namenstabelle!B2:B30);‚Unbekannt‘)"

Ich möchte aber das ganze aus einem Makro heraus ausführen und zwar so:
ActiveCell.FormulaR1C1 = „=WENN(B3:B32=VERWEIS(B3:B32;Namenstabelle!A2:A30;Namenstabelle!A2:A30);VERWEIS(B3:B32;Namenstabelle!A2:A30;Namenstabelle!B2:B30);‚Unbekannt‘)“

Dann bekomm ich leider folgende Fehlermeldung:
Laufzeitfehler 1004, Anwendungs- oder Objektdefinierter Fehler.

Ich bin leider in VB nicht fit genug, um das richtig zu interpretieren.
Kannst Du mir da weiterhelfen?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo, Christoph!

ActiveCell.FormulaR1C1 =
„=WENN(B3:B32=VERWEIS(B3:B32;Namenstabelle!A2:A30;Namenstabelle!A2:A30);VERWEIS(B3:B32;Namenstabelle!A2:A30;Namenstabelle!B2:B30);‚Unbekannt‘)“

Du wirst wahrscheinlich die englischen Funktionsnamen verwenden müssen. Das ist zum einen „IF“ statt „WENN“; außerdem sind die „;“ durch „,“ zu ersetzen. Wie „VERWEIS“ heißt, weiß ich nicht (vermutl. LOOKUP). Aber tippe einfach die richtige Formel in eine Zelle, und lass Dir unter VB im Direktbereich über

Debug.Print ActiveCell.FormulaR1C1

die richtige Formel ausgeben.

Gruß, Manfred

Hi Christoph,

Wenn ich die Formel direkt in Excel eingeben klappts auch ohne
Probleme. Hier die Formel
WENN(B3:B32=VERWEIS(B3:B32;Namenstabelle!A2:A30;Namenstabelle!A2:A30);VERWEIS(B3:B32;Namenstabelle!A2:A30;Namenstabelle!B2:B30);‚Unbekannt‘)"

Das soll klappen? bezweifel ich, wenndann „unbekannt“ und nicht ‚unbekannt‘ und Suchkriterium ein Bereich (B3:B32) klappt auch nicht.
Sowas klappt:
=WENN(D3=VERWEIS(D3;Tabelle2!A2:A30;Tabelle2!A2:A30);VERWEIS(D3;Tabelle2!A2:A30;Tabelle2!A2:A30);„Unbekannt“)

Ich möchte aber das ganze aus einem Makro heraus ausführen und
zwar so:
ActiveCell.FormulaR1C1 =
„=WENN(B3:B32=VERWEIS(B3:B32;Namenstabelle!A2:A30;Namenstabelle!A2:A30);VERWEIS(B3:B32;Namenstabelle!A2:A30;Namenstabelle!B2:B30);‚Unbekannt‘)“

in VBA:
Range(„a1“).FormulaLocal = „=WENN(D3=VERWEIS(D3;Tabelle2!A2:A30;Tabelle2!A2:A30);VERWEIS(D3;Tabelle2!A2:A30;Tabelle2!A2:A30);“„Unbekannt“")"

Gruß
Reinhard

VERWEIS(Suchkriterium;Suchvektor;Ergebnisvektor)
Wenn ich die Funktion ausführe und im Suchvektor das
Suchkriterium nicht vorhanden ist, dann wir ja als Ergebnis
das nächst kleinere Datum aus dem Suchvektor als Ergebnis
zurück gegeben.
Ich möchte aber, dass nicht das nächst kleinere Datum zurück
gegeben wird, sondern ein vordefiniertes Datum. Ist das
irgendwie möglich?

Hi christoph,
probiers mal so:

A B C D E
1 1.1.04 a 3.1.04
=WENN(D1=VERWEIS(D1;A1:A3;A1:A3);VERWEIS(D1;A1:A3;B1:B3);„15.12.04“)

2 12.1.04 b
3 4.1.04 c

Gruß
Reinhard