Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ApplicationFunction Lookup + Isnumber

Forumthread: ApplicationFunction Lookup + Isnumber

ApplicationFunction Lookup + Isnumber
06.03.2007 11:06:40
Arthur
Hallo Herberfans.
Irgendwo hängt mein Gedanken gerade in der Luft.
Folgende Formel habe ich in einer Zelle eingetragen und sie funktioniert (suche der Wert, der ganz links in dem Bereich ist.:
=LOOKUP(2,1/ISNUMBER(E54:H54),(E54:H54))
Das selbe hätte ich gerne in VBA realisiert. Aber hier streikt die Kiste und meint die Typen seien unverträglich.
=Application.Worksheetfunction.LOOKUP(2,1/Application.Worksheetfunction.ISNUMBER( Range("E54:H54")),Range(("E54:H54")))
Wie kann ich das Problem lösen?
Gruß
Art
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: ApplicationFunction Lookup + Isnumber
07.03.2007 00:44:00
fcs
Hallo Arthur,
VBA erfordert für das Dezimalzeichen bei Zahlen immer einen Punkt .
Also
=Application.Worksheetfunction.LOOKUP(2.1/Application.Worksheetfunction.ISNumber( _
Range("E54:H54")),Range(("E54:H54")))
Das Hauptproblem ist aber , dass ISNUMBER( Range("E54:H54") eine Matrix aus 4 True bzw. False-Werten zurückgibt. Das scheint in der Tabelle noch toleriert zu werden, indem Exel den 1. Wert der Matirix verwendet. Scheitert aber unter VBA, da die Division im Nenner eine Zahl erwartet und so den Fehler "Typen unverträglich" zurückgibt. Da IsNumber bei Nicht-Zahlen den Wert False (was als 0 interpretiert wird) zurückgibt endet deine Formel ggf. in einer Division durch 0, was dann den nächsten Fehler auslöst. Du solltest dir also unter VBA für die LookUp-Funktion also etwas anderes überlegen für die Überprüfung auf Zahlenwerte. Gruss Franz
Anzeige
Danke schön
07.03.2007 08:22:00
Arthur
Hallo Franz.
Danke für deine Mühen. Leider klappt die Formel wohl nicht unter VBA. Als Formel in einem Exel-Sheet aber hervorragend. Deine Interpretation dazu stimmt auch so ziemlich. Nur: In der Tabelle werden in der Tat aller Werte betrachtet. Allerdings ist gerade das der Trick, dass man sich einen Wert herauspicken kann. In diesem Fall der letzt aufgeführte. Und hier ist ein kleiner Fehler in deiner Betrachtung: Es handelt sich in der Tat um "2, 1", da es sich um zwei Parameter und nicht um den Wert 2,1 handelt. Die 2 führt übrigens dazu, dass in der Tabelle der letzte Wert aus der Reihe ermittelt wird.
Wie dem auch sei. Ich bin nun am Schleifen basteln.
Gruß
-Art
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige