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

Performance Matrixformel und UDF

Forumthread: Performance Matrixformel und UDF

Performance Matrixformel und UDF
05.01.2025 16:35:16
markus_r
Hallo zusammen,

Ich rechne mit einer udf Werte für ein 2d Array aus - auf Basis der eingelesenen Daten (range an die udf übergeben). Dieses Ergbinsarray ist dann die Rückgabe der UDF.

In meinem sheet rufe ich die udf als matrixformel in einem Zellenbereich gleicher Größe wie das Ergbinsarray auf. Das Ergebnis ist dann wie gewünscht: Die Zellen sind mit den Werten des Ergbinsarray gefüllt.

Jetzt die performance Frage: wird bei diesem Vorgehen die UDFmehrfach aufgerufen? Also 1x je zelle der Matrix? Und wenn ja, kann man das irgendwie verhindern? Das mehrfache Einlesen meiner Ausgangsdaten ist ein echtes Performance Thema, da diese sehr umfangreich sind. Einmal einlesen würd ja reichen. In der udf kann ich alles machen.

Eigentlich würde ich mir wünschen:
- udf aufrufen (range der Eingangsdaten übergeben)
- daten einlesen
- daten verarbeiten
- daten in zielzellen schreiben
Aber genau letzteres geht ja leider nicht auf direkten Weg...

Oder bin ich mit der udf auf dem Holzweg? Der range für Ausgabe und Eingabe ist immer gleich.

Vielen Dank,
Markus
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Performance Matrixformel und UDF
05.01.2025 17:46:46
ralf_b
wenn du außer moralischer Unterstützung auch Hilfe bei der UDF haben möchtest, solltest du die UDF und eine Beispieldatei bereitstellen.
Wenig hilfreich ist deine sehr alte Excelversion. Es gibt da sicher nur noch Wenige, die sich mit so alten Excelversionen auskennen.
AW: Performance Matrixformel und UDF
05.01.2025 21:13:05
daniel
HI
wenn du wissen willst, wie oft die UDF durchgearbeitet wird, kannst du so vorgehen:
1. eine Projektweit gültige Variable vom Typ LONG anlegen, also in einem allgemeinen Modul oberhalb der Codes
Option Explicit

Public Zähler as LONG

2. im Code zählst du dann diese Function einmal hoch:
Function Deinfunktionsname(Parameter)

Zähler = Zähler + 1

3. jetzt solltest du vor und nach einem Berechnungslauf dir im Direktfenster den Zählerstand anschauen mit: ?Zähler
damit kannst du dann abschätzen, wie oft die Funktion durchgeführt wurde
im Direktfenster kannst du dann auch den Zähler wieder auf 0 setzen: Zähler = 0

meines Wissen nach sollte bei einer Matrixformel diese nur einmal aufgerufen werden, wenn sie korrekt eingegeben wurde

gruß Daniel
Anzeige
AW: Performance Matrixformel und UDF
06.01.2025 14:02:35
markus_r
Hallo, vielen Dank für den Tipp mit dem zähler. Ist wie vermutet / gehofft, die Formel wir nur einmal aufgerufen.

Nach allem was im Netz zu lesen ist, schein es prinzipiell keinen deutlichen performance unterschied zwischen UDF und sub zu geben.

Wesentlich ist das lesen und schreiben ins sheet und da kann ich noch etwas optimieren.

Viele Grüße
Markus
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18