Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1892to1896
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

Volatilität bei UDF schaltbar ?

Volatilität bei UDF schaltbar ?
15.08.2022 00:23:52
Daniel
Hallo
folgendes Problem:
ich habe eine Exceldatei, die ich ständig im Hintergrund geöffnet habe, weil ich sie regelmäßig brauche.
diese Datei enthält eine UDF, die über Application.Volatile volatil geschaltet ist.
Gibt es eine Möglichkeit, diese Volatilität zu steuern und die Funktion nur dann volatil zu machen, wenn diese Mappe nicht im Hintergrund ist sondern die aktive Mappe?
das Problem ist, ich schreibe häufig Makros und teste diese im Einzelstepmodus. Jedesmal wenn ich in so einem Marko etwas in eine Zelle schreibe, springt die Ausführung natürlich in den Code der volatilen Funktion.
Das ist zwar prinzipiell richtig, aber beim Testen im Einzelstep in diesem Fall lästig.
Kann man das irgendwie unterbinden bzw verhindern?
ja, ich weiß dass man die Funktion dann mit mit einem Tastendruck ausführen lassen kann und im eigentlichen Makro mit dem Einzelstep weitermachen kann, aber es ist trotzem lästig.
Ich weiß auch, dass man die Datei mit der volatilen UDF auch schließen kann, aber das möchte ich eigentlich nicht, da ich sie mehrfach am Tag benötige und sie daher geöffnet bleiben soll..
daher würde ich gerne wissen, ob man das ausführen einer volatilen Funktion so steuern kann, dass es nur gemacht wird wenn die Datei aktiv ist, oder vielleicht über einen Button das "volatilität - ein/aus" schalten kann?
Gruß Daniel

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

Betreff
Datum
Anwender
Anzeige
Das ist prinzipiell möglich, ...
15.08.2022 03:39:09
Luc:?
…Daniel!
Die Angabe von Application.Volatile am Anfang des Pgms erfordert einen Parameter, der standardmäßig (auch bei Weglassen!) True ist. Man hat also 2 Möglichkeiten:
1. kann man anstelle dieses Parameters eine Bedingung schreiben, die mal True und mal False ergibt, hier also beim Vgl von ThisWorkbook (das, in dem die UDF notiert ist) und ActiveWorkbook;
2. kann man der UDF, vor allem, wenn sie in Fmln eingesetzt wdn soll, ein Argument übergeben, das genau den Volatilitätsstatus festlegt, also entweder True oder False ist. Diesen Wert kann man in einer Fml sich auch aus einer Vglsfml statt eines festen Werts an dieser Stelle ergeben lassen.
Je nachdem, was dir für deine Zwecke sinnvoller scheint, kannst du dann ja mal ausprobieren. Die 2.Variante hatte ich schon abundzu mal bei UDFs eingesetzt, um direkt beim Einsatz der UDF in einer Fml zu entscheiden, ob es notwendig ist, dass sie volatil ist, also ständig neu berechnet wird.
Morhn, Luc :-?
Anzeige
AW: Das ist prinzipiell möglich, ...
15.08.2022 10:38:54
Daniel
danke für den Tip.
die Funktion gibts zwar, aber irgendwie habe ich das nicht so hinbekommen, dass es zu meiner Zufriedenheit funktionert.
Prinzipiell ist es ja so, dass eine Funktion sich zwar selber ausschalten kann, aber nicht wieder selber einschalten, weil sie ja nicht ausgeführt wird.
ich machs jetzt so, dass ich im WorkbookActivate bzw Deaktivate einfach aus den Formeln Text mache und wieder zurück ("x=" und "=")
geht am einfachsten und funktioniert so wie ich will, solange die volatilte Funktion in der Formel am Anfang steht.
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige