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

Eig. Funkt. in beding. Format. -> Events-Probleme

Eig. Funkt. in beding. Format. -> Events-Probleme
14.08.2013 15:23:04
Patrick
Hallo,
anscheinend gibt es ein Problem bei der Verwendung benutzerdefinierter Funktionen in der bedingten Formatierung und der Auslösung von Events.
Ich nutze die folgende Formel/Funktion in einer bedingten Formatierung:
=UND(MatrixVerketten($A20:$L20)"";A$19"";A20="")
Die Funktion "MatrixVerketten":

Function MatrixVerketten(rng1 As Range) As String
Dim Zelle As Range
MatrixVerketten = ""
For Each Zelle In rng1
MatrixVerketten = MatrixVerketten & Zelle.Value
Next Zelle
End Function

Jetzt habe ich aber das Problem, dass die Events Worksheet_Change und Worksheet_Calculate nicht mehr korrekt auslösen. Kann mir das einer eklären, bzw. kann das mal jemand testen?! Ich zweifle langsam an meinem Verstand.
Gruß
Patrick

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

Betreff
Datum
Anwender
Anzeige
Da ist eine Auffälligkeit in deiner Fml, ...
14.08.2013 19:00:54
Luc:-?
…Patrick;
einerseits soll MatrixVerketten($A20:$L20)≠"" sein, andererseits A20="". Das kann natürlich sein, aber 1. wird sich A20 auch spaltenmäßig wg der relativen Adressierung an die jeweilige Zelle aus dem Geltungsbereich anpassen und wäre 2. in $A20:$L20 zumindest in den Fällen überflüssig, in denen es mit $A20 zusammenfällt.
Außerdem ist deine UDF stark störanfällig, weil sie 1. direkt zellenweise auf einen Zellbereich zugreift, was unnötig langsam ist, und 2. voraussetzt, dass alle Zellinhalte auch verknüpfbar sind. Der 1.FWert hebelt die UDF aus!
Man kann UDF durchaus in Bedingungsfmln einsetzen, aber die müssen sich auch 1. an die jeweiligen Regeln des BedingtFormat-Typs halten und 2. alle auftretenden Werte irgendwie verarbeiten können. Deine UDF würde ich nie verwenden, schon gar nicht für Bedingungsfmln! Außerdem dürfte sie eigentlich auch überflüssig sein, denn du willst ja wohl nur feststellen, ob wenigstens 1 Zelle aus dem Bereich nicht leer ist.
Gruß Luc :-?

Anzeige
AW: Da ist eine Auffälligkeit in deiner Fml, ...
14.08.2013 20:53:35
Patrick
Hallo Luc,
du hast Recht, der zellenweise Zugriff ist natürlich nicht optimal. Es würde sicherlich scheller gehen, wenn man die Inhalte des Zellbereichs direkt in ein Datenfeld/Array liest. Ferner sind in diesem Fall immer alle Zellinhalte verknüpfbar. Das ganze soll auch nur ein Beispiel sein, und das eigentliche Problem veranschaulichen, nämlich dass wenn man UDF in einer bedingten Formatierung verwendet, dass es dann anscheinend Probleme mit der Auslösung von Events geben kann.
Was die Formel der bedingten Formatierung angeht, so ergibt diese schon Sinn. Nämllich dann, wenn man sie auf einen ganzen Zellbereich anwendet, bspw. auf den Zellbereich A20:L40. Sobald bspw. eine Zelle des Bereichs A20:L20 mit Inhalt gefüllt wird, greift die bedingte Formatierung in allen anderen Zellen des Bereichs, die leer sind, und auch nur in den Spalten in denen eine Überschrift in der Zeile 19 steht. Die UDF funktioniert jaauch wie gewünscht. Nur manche Events funktionieren nicht mehr, wie bspw. Worksheet_Change und Worksheet_Calculate. und das zwar immer dann, wenn das Ereignis auch die bedingte Formatierung mit der UDF betrifft.
Gruss Patrick

Anzeige
Das muss aber nicht sein, ...
14.08.2013 23:11:59
Luc:-?
…Patrick,
also wird es wohl eher (aus den genannten Gründen!) an deiner UDF liegen!
Gruß Luc :-?

29 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige