Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
396to400
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
396to400
396to400
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Funktion w. b. ändern einer Zelle nicht ausgeführt

Funktion w. b. ändern einer Zelle nicht ausgeführt
16.03.2004 12:36:35
Oswald
Hallo an alle,
ich habe mir selber eine Funktion geschrieben, die auf verschiedene Zellen zugreift und damit eine Berechnung ausführt (aus einer Liste mit Datum und Arbeitsbeginn und Arbeitsende die Tagesarbeitszeit berechnet).
Nun hab ich folgendes Problem:
Bisher war ich der Meinung das Excel den Wert einer Formel neu berechnet wenn eine zu der Formel gehörende Zelle geändert wird.
Bei meiner Funktion ist es nicht so! Ich ändere eine Zeitangabe aber bei meiner Funktion tut sich nichts!
Erst wenn ich die Zelle in der meine Funktion steht klicke und dann noch mal oben in die Bearbeitungsleiste und dann noch Enter drücke wird mein Wert neu berechnet.
Unter Extras/ Optionen/ Berechnen ist Berechnen auf automatisch gesetzt.
Wie kann ich es ändern das der Wert neu berechnet wird sobald sich eine dazugehörige Zelle ändert?
Danke mal wieder für eure Hilfe, die bis her immer hervorragend war.
Oswald

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktion w. b. ändern einer Zelle nicht ausgeführt
16.03.2004 12:56:37
Holger
Hallo Oswald,
wie heute morgen?? Lade doch mal eine Datei hoch. Mal schauen.
Holger
hab was vergessen
16.03.2004 14:38:57
Oswald
zur erklärung.
Die Funktion befindet sich in Modul2, verwendet wird sie im Tabellenblatt Januar.
Oswald
AW: Funktion w. b. ändern einer Zelle nicht ausgeführt
16.03.2004 12:58:22
Hans W. Herber
Hallo Oswald,
ich vermute mal, dass die benutzerdefinierte Funktion unsauber aufgebaut ist, d.h., dass nicht alle benötigten Parameter über die Formel übergeben werden.
Beispiel für einen unsauberen Aufbau:

Function Addieren() As Double
With Application.Caller
Addieren = WorksheetFunction.Sum(Range(.Offset(0, 1), .Offset(0, 10)))
End With
End Function

Beispiel für einen sauberen Aufbau:

Function BesserAddieren(rng As Range) As Double
BesserAddieren = WorksheetFunction.Sum(rng)
End Function

Beim Testen wirst Du feststellen, dass die erste Formel berechnet, die zweite nicht berechnet wird. Das ändert sich, wenn an den Beginn der ersten Formel ein Application.Volatile angefügt wird.
Aber: Davon ist dringed abzuraten; versuche die Sache gem. Beispiel zwei zu lösen.
Gruss hans
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige