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

Werte einer UDF werden nicht aktualisiert

Werte einer UDF werden nicht aktualisiert
14.08.2006 11:11:02
Jakob
Servus allerseits,
Ich habe folgendes Problem:
Ich habe folgende UDF geschrieben, die die absoluten Werte eines Bereichs berechnet, und dabei Formeln auslässt.

Function SummeAbs(rng As Range) As Double
Dim c As Range, iSum As Double
iSum = 0
For Each c In rng
If Not c.HasFormula Then
iSum = iSum + c
End If
Next c
SummeAbs = iSum
End Function

Das Problem ist, dass immer wenn ich durch den Autofilter die Tabelle verändere, die Formel nur noch #WERT ausgibt und sich nicht automatisch neu berechnet. Wenn ich sie allerdings erneut eingebe und mit Enter bestätige, funktioniert sie. Wie kann ich das ändern?
Vielen Dank für Hilfe!
Gruß Jakob

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte einer UDF werden nicht aktualisiert
14.08.2006 11:35:36
Heiko
Hallo Jakob,
versuche es mal so:

Function SummeAbs(rng As Range) As Double
Application.Volatile  ' Schau auch mal in die VBA Hilfe zu Volatile
Dim c As Range, iSum As Double
iSum = 0
For Each c In rng
If Not c.HasFormula Then
iSum = iSum + c
End If
Next c
SummeAbs = iSum
End Function

Gruß Heiko
PS: Rückmeldung wäre nett !
RE: Werte einer UDF werden nicht aktualisiert
14.08.2006 12:10:52
Jakob
Danke für den Tip, Heiko.
Funktioniert insoweit, dass zumindest wenn auf dem Blatt eine Formel neu berechnet wird, auch meine UDF neu berechnet wird.
Beim Filtern allerdings tut sich nix. Da ich aber bestimmte Filter mit Buttons ausführe, kann ich in jedes Filter-Makro noch eine Formel (=1+1 oder so) reinpacken, die irgendwo auf dem Sheet berechnet wird. Dann müsste es gehen.
Danke auf jeden Fall.
Gruß Jakob
Anzeige
AW: RE: Werte einer UDF werden nicht aktualisiert
14.08.2006 16:13:09
Daniel
Hallo
das liegt daran, daß es die UDF so wie sie geschrieben ist, nicht interessiert, ob eine Zelle ausgeblendet ist oder nicht.
(ähnlich wie bei SUMME, die wird auch über alle Zellen gebildet, wenn du die Ausgebelendeten aus der Berechung ausnehmen willst, muß du TEILERGEBNIS verwenden.)
um diese Funktionalität zu erhalten, mußt du den Code wiefolgt ergänzen:
streiche: If Not c.HasFormula Then
setze: If Not (c.HasFormula Or c.EntireRow.Hidden) Then
dann sollte es funktionieren.
bei Autofilter wird automatisch eine Neuberechung ausgelöst, eine Zusätzliche Aktion ist dazu nicht nötig.
Gruß, Daniel
Anzeige
AW: RE: Werte einer UDF werden nicht aktualisiert
16.08.2006 14:03:04
Jakob
Danke, Daniel!
Deine Code-Ergänzung habe ich sinngemäß auch schon versucht, aber die Klammern nicht gesetzt und dann gings nicht. So ist es jetzt perfekt.
Teilergebnis funktioniert nicht, da ich auch Werte (Absolutwerte) die evtl. ausgeblendet sind summieren will. Das ist aber bei Teilergebnis nicht möglich.
Also nochmals Danke.
AW: Werte einer UDF werden nicht aktualisiert
14.08.2006 17:01:13
Daniel
Hallo
wenn ich mir dein Problem so anschaue sieht es so aus, als hättest du eine Tabelle mit Zwischenwerten, die du bei der Aufsummierung zum Gesamtwert natürlich ignorien mußt.
Auch der Wunsch, Ausgeblendete Zellen für die Berechnung zu ignorieren, spricht dafür.
Sollte dies der Fall sein, könntest du auch die Funktion Teilergebnis(9;A1:A100) verwenden.
Diese Funktion erfüllt dann genau das was du suchst:
- Ausgeblendete Zellen werden ignoriert
- Steht innerhalb des angegebnen Ranges ein weiteres Teilergebnis, wird dieses ebenfalls nicht mit summiert.
Gruß, Daniel
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige