Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
948to952
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
948to952
948to952
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Benutzerdefinierte Funktion

Benutzerdefinierte Funktion
12.02.2008 19:28:00
Christian
Hallo Excelfreunde,
vielleicht kann mir jemand einen kleinen Tipp geben.
Folgende Formel soll in eine benutzerdefinierte Funktion überführt werden, um ein Parameter beliebig oft ändern zu können:
=SUMME((Blatt1!$C$1:$C$40000=INDEX(Blatt2!$A:$A;KKLEINSTE(WENN((Blatt2!$B$1:$B$40000=B3); ZEILE($1:$40000));1)))*(Blatt1!$BI$1:$BI$40000=C3)*Blatt1!$D$1:$D$40000)
Mein Versuch die UDF zu erstellen sieht folgendermaßen aus:

Function GREIFER(Nummer As Double) As Range
FormulaArray = _
"=SUM((Blatt1!R1C3:R40000C3=INDEX(Blatt2!C1,SMALL(IF((Blatt2!R1C2:R40000C2=RC[-13]),ROW(R1: _
R40000))," & Nummer &")))*(Blatt1!R1C61:R40000C61=RC[-12])*Blatt1!R1C4:R40000C4)"
GREIFER = FormulaArray
End Function


In einer Excelzelle soll dann folgende Formel stehen können:
=greifer(1)
Allerdings gibt die folgende Formel nur den englischen String, aber berechnet leider die Formel nicht.
Ich bin für jede Hilfe dankbar.
Viele Grüße
Christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Benutzerdefinierte Funktion
12.02.2008 20:16:55
Uduuh
Hallo,
1. niemals Schlüsselwörter als Variablen verwenden.
2. As Range ist garantiert falsch.
3. die Berechnung musst du schon innerhalb der Function durchführen.
Mehr kann man dazu nicht sagen, da keiner weiß, was du erreichen willst
Gruß aus’m Pott
Udo

AW: Benutzerdefinierte Funktion
13.02.2008 10:02:00
Christian
Hallo Udo,
erstmal vielen Dank für Deine Antwort. So weiß ich jetzt zumindest wie es nicht geht. Zu Deinen Punkten:
1. Was meinst Du denn mit Schlüsselwörtern?
2. Wär Variant passender?
3. Das ist genau das Problem. Die Formel ist in Excel schon kompliziert und ich bin eher nicht in der Lage sowas in VBA zu programmieren. Hatte gehofft es gibt eine einfache Möglichkeit die, mit dem Makrorekorder, aufgenommene Formel zu übernehmen.
Hier (https://www.herber.de/bbs/user/49884.xls) hab ich nochmal eine Beispieldatei hochgeladen. Das Problem ist, dass die Formel schon ab der 4. Wiederholung zu lang für Excel wird, aber Hilfszellen möchte ich möglichst vermeiden.
Vielleicht hat noch jemand einen hilfreichen Tipp...
Danke und viele Grüße
Christian

Anzeige
AW: Benutzerdefinierte Funktion
13.02.2008 13:15:05
Rudi
Hallo,
Was machst du das so kompliziert?
Du musst doch nur die Gruppe per Sverweis bzw. Index/ Vergleich in die Umsatztabelle bringen und dann mit Summewenn auswerten.
Was hast du gegen Hilfszellen? Das mag zwar nicht sehr elegant aussehen, wird aber am schnellsten berechnet.
Eine UDF ist langsam, wird nicht unbedingt neu berechnet und funktioniert bei ausgeschalteten Makros gar nicht.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Benutzerdefinierte Funktion
13.02.2008 16:39:49
Christian
Hallo Rudi,
vielen Dank für den Hinweis. Manchmal hat man echt ein Brett vor dem Kopf! Dabei liegt die Lösung so nah.
Wenn es sich vermeiden lässt, dann verzichte ich gerne auf Hilfszellen, eben weil die Lösungen dann eleganter und flexibler sind, allerdings scheint es hier keine effektivere Möglichkeit zu geben als Deine.
Viele Grüße
Christian
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige