Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

Forumthread: 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
Anzeige

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
Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige