Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1552to1556
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
Inhaltsverzeichnis

UDFs zeigen falsche Ergebnisse oder starten nicht

UDFs zeigen falsche Ergebnisse oder starten nicht
16.04.2017 16:28:53
Barbaraa

Hallo
habe zwei Probleme mit UDFs (User defined functions). Vielleicht mache ich was falsch oder es ist ein bekanntes Excel-Problem.
Manche UDFs zeigen falsche Ergebnisse oder springen manchmal nicht an.
Leider manche und manchmal, ohne erkennbares Muster.
Zum ersten: Falsches Ergebnis bei folgendem Beispiel
Eine UDF wird durch Änderung in einer Bezugszelle ausgelöst, zB D1:G20 als Bereich.

Function Test(Bereich As Range)
Test = Bereich(2, 1).Value
End Function
Wird die UDF durch eine Änderung in D2 ausgelöst, wird in der UDF "Test" manchmal der alte Wert, also der vor der Änderung übergeben. In D2 steht die einfache Formel:"=A1".
Ich schreibe was Neues in A1, was eine Änderung im Bereich bewirkt und die UDF "Test" auslöst. Offensichtlich wartet diese nicht das Ergebnis der Änderung ab und verarbeitet den alten Zustand.
Aber eben nicht immer, meistens funktioniert sie erwartungsgemäß. Die UDF "Test" selbst ist also richtig.
Was mir noch aufgefallen ist:
Wenn die UDF "Test" in mehreren Zellen steht und sich auf den selben Bereich bezieht "=Test(D1:G20)", bringt eine manchmal das falsche Ergebnis wie oben beschrieben und alle anderen das richtige Ergebnis mit dem neuen Wert.
Zum zweiten: Manche UDFs springen manchmal nicht an.
Auch hier: Leider manche und manchmal, ohne erkennbares Muster.
Jedenfalls: "?Application.Calculation" ergibt -4105 (entspricht xlCalculationAutomatic),
auch die Berechnungsoptionen stehen auf automatisch.
Auch F9, Berechnen, Blatt Berechnen, per Menüsteuerung oder als Makro bringen Excel nicht dazu, diese UDFs zu berechnen.
Sogar das Ändern der Bezugszellen der UDF, was ja der eigentliche Auslöser für die Berechnung ist, lässt Excel unbeeindruckt untätig.
Abhilfe, wenn ich es entdecke:
Erst wenn ich in die entsprechende Zelle hineingehe (mit F2 oder mit der Maus), wird diese eine ausgeführt. Aber nur, wenn ich es zufällig entdecke. Aber dann funktioniert es, zumindest für diese Sitzung.
Kann es sein, dass Excel überlastet ist?
Wie auch immer, das "

Sub worksheet_change" springt ordnungsgemäß an.
Vielleicht kann man da was einbauen?
Jedenfalls "Calculate" hilft nicht.
LG, Barbara

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

Betreff
Datum
Anwender
Anzeige
AW: UDFs zeigen falsche Ergebnisse oder starten nicht
16.04.2017 17:32:50
onur
Hi Barabaraa,
Hast du ein Beispiel?
Bei mir läuft nämlich alles, ich habe es so realistisch, wie es geht nachgebaut, aber alles läuft, wie es soll.
Application.Volatile in der UDF …
16.04.2017 19:43:16
RPP63
… dürfte helfen, Barbara.
Unnötig zu erwähnen, dass man dies nur bei überschaubaren Daten machen sollte?
Gruß Ralf
AW: Application.Volatile in der UDF …
17.04.2017 23:36:12
Barbaraa
Leider kann ich kein Beispiel liefern, die Datei ist zu groß, um sie zu anonymisieren und auf das Wesentliche zu kürzen. Noch dazu weiß ich auch nicht, ob da nicht was wirklich Wesentliches verloren günge.
Habe eine Datei erstellt nur mit den kritischen Elementen. Aber da tritt natürlich kein Fehler auf.
In meiner Originaldatei ist es derzeit auch wieder ruhig. Habe einige Umstellungen gemacht, zB Bereiche für bedingte Formatierungen etwas umgebaut und reduziert.
Das Thema scheint nun erledigt, da keine Fehler mehr auftreten. Warum, weiß ich nicht. Ein mulmiges Gefühl.
Hatte nur gehofft, dass jemand hier ähnliche Probleme hatte. Auch die Internet-Recherche verlief ergebnislos, was meine Problemstellung betrifft.
Danke für Eure Antworten.
LG, Barbara

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige