F9 bei benutzerdefinierter Funktion



Excel-Version: 10.0 (Office XP)
nach unten

Betrifft: F9 bei benutzerdefinierter Funktion
von: stefan
Geschrieben am: 28.05.2002 - 12:30:04

habe von ralf lgh. eine fuction bekommen, die in einem bereich die vorkommenden formatierungen zusammenzählt. sprich in a1:a15 stehen namen, 3 davon sind durchgestrichen - die function zählt also 3!

problem:
ändere ich im bereich a1:a15 einen eintrag von durchgestrichen auf nicht druchgestrichen, so wird das ergebnis 3 nicht auf 2 geändert - auch bei drücken der F9-taste nicht!

warum ist das so und wie kann ich das ändern???


vielen dank für eure bemühungen...


stefan

nach oben   nach unten

Re: F9 bei benutzerdefinierter Funktion
von: Hans W. Hofmann
Geschrieben am: 28.05.2002 - 12:41:29

Hallo,


das ist so per se, weil Formatierungen keine Änderung von Eingabewerten dastellen. Falls solche Kontrukte funktionieren sollen muss die FUnktion als flüchtig
Application.Volatile
markiert werden. Ist aber auch kontraproduktiv, weil damit die gesammte XL-Hierarchie neu berechnet wird - wenn Du das oft verwendest musst Du viele Zeit mitbringen.

Am besten lässt man von solchen Kontruktionen die Finger. Wenn es eine Bedingung zur Formatierungsänderung gibt, dann sollte man die auch mit einprogrammieren und nicht in die Formatierung reinziehen!

Gruß HW


nach oben   nach unten

Re: F9 bei benutzerdefinierter Funktion
von: stefan
Geschrieben am: 28.05.2002 - 12:48:32

hallo hans...

danke für die informationen - klingt logisch ;-)
dann werde ich mal sehen, ob ich das ganze anders aufziehen kann!
eine tolle sache dieses forum!!!

danke!

stefan


nach oben   nach unten

F9 - Alternative
von: WernerB.
Geschrieben am: 28.05.2002 - 18:29:00

Hallo Stefan,

Alternativ zum Gebrauch der F9-Taste kannst Du auch das folgende Makro nutzen (als Ergebniszelle habe ich "A11" angenommen).

Schreibe/kopiere das nachstehende Makro in das Klassenmodul des betreffenden Tabellenblattes.

- Mache dazu einen Rechtsklick auf den Tabellennamen.
- Klicke dann auf "Code anzeigen".
- Automatisch öffnen sich nun der VB-Editor und das Klassenmodul des betreffenden Tabellenblattes.
- Schreibe/kopiere das nachstehende Makro in die große weiße Fläche auf der rechten Seite.
- Zurück zum "normalen" Excel geht's mit Alt + Q.
- Fertig.


Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    ActiveSheet.Range("A11").Calculate
End Sub

Allerdings machen mehrere solcher Konstrukte Excel erheblich langsam, weil es nach jedem Mausklick neu rechnet. Diesen Nachteil musst Du leider in Kauf nehmen.

Noch etwas wichtiges: Die Durchstreichungen dürfen nicht durch bedingte Formatierung erzeugt werden!

Viel Erfolg wünscht
WernerB.

nach oben   nach unten

Re: F9 - Alternative
von: stefan
Geschrieben am: 29.05.2002 - 09:45:16

hallo werner....

vielen dank auch dir für die antwort - werde es gleich mal probieren. das mit dem langsamer werden von excel stellt in diesem fall kein problem dar, weil es sich nur um eine "klitzekleine" sache handelt, dem anwender aber trotzdem wichtig ist!

vielen dank also...

stefan


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "F9 bei benutzerdefinierter Funktion"