Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Function

Forumthread: Function

Function
Ludwig
Hallo Experten
Im Modul Main habe ich eine Reihe von Functions geschrieben!
Nun werden diese Functions aber bei jeder Zelenänderung - auch bei Zellen die mit den Functions nichts zu tun haben und auch in anderen Arbeitsblättern - durchlaufen!
Das macht die Berechnungen sehr langsam!
Zur Fehlersuche habe ich schon ein Private Sub Worksheet_Change(ByVal Target As Range), aber die Functions werden anscheinend vor dieser Procedur durchlaufen!
Gibt es irgendeine Grundeinstellung oder ...?
Vielen Dank für eine Anwort schon imvaraus.
Gruß Ludwig
Anzeige

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

Betreff
Benutzer
Anzeige
Berechnung auf manuell
03.09.2009 18:20:54
NoNet
Hallo Ludwig,
dieses Verhalten ist doch auch von Excel Standard-Funktionen bekannt und prinzipiell erwünscht, so dass die Zellen, die diese Funktionen beinhalten, stets das korrekte Ergebnis anzeigen !
Du kannst die Berechnung per Office-Schaltfläche - Excel-Optionen auf "Manuell" umstellen, dann erfolgt keine automatische Berechnung mehr (Neuberechnung durch Taste F9).
Gruß, NoNet
Anzeige
Darauf hatte ich dir wohl schon geantwortet,...
03.09.2009 18:22:49
Luc:-?
...Ludwig,
das muss an xl12 liegen, da scheint so Manches anders zu fktn als bisher...
Gruß Luc :-?
AW: Darauf hatte ich dir wohl schon geantwortet,...
04.09.2009 08:09:35
Ludwig
Hallo Zusammen
Ich werde wohl neu anfange müssen!
Das kostet mich zusätzliche Tage abpinseln!
Trotdem Danke an alle!
Gruß Ludwig
AW: Darauf hatte ich dir wohl schon geantwortet,...
04.09.2009 08:15:04
Hans
Hallo Ludwig,
überprüfe die Funktionen auf die Parameterübergabe. Wenn es sich beispielsweise um Zellbereiche handelt, keine kompletten Spalten oder Zeilen sondern nur den relevanten Bereich übergeben.
Je genauer die Parameter sind, desto weniger Neuberechnungen erfolgen.
gruss hans
Anzeige
Beispiel für Funktion
04.09.2009 08:26:34
Hans
... im Nachtrag ein Beispiel:
Wird bei der nachfolgenden benutzerdefinierten Funktion für die Variable rng ein Bereich A1:A18 gesetzt, erfolgt eine Neuberechnung der Formel nur, wenn eine Eingabe in diesem Bereich erfolgt. Wird hingegen der Bereich A:A vorgegeben, erfolgt die Neuberechnung bei jeder Eingabe in Spalte A.
Die Beispielfunktion:
Function ZaehlenWenn(rng As Range, iValue As Integer) As Long
Dim rngAct As Range
Dim lValue As Long
For Each rngAct In rng.Cells
If rngAct.Value = iValue Then
lValue = lValue + rngAct.Value
End If
Next rngAct
ZaehlenWenn = lValue
End Function

gruss hans
Anzeige
;

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