Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1208to1212
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
Inhaltsverzeichnis

Permanentes Berechnen einer function erzwingen

Permanentes Berechnen einer function erzwingen
b.
Hallo liebe Excelexperten,
ich scheitere gerade mal wieder ... weil ich nicht weiss wonach ich suchen muss und wäre für Tipps sehr dankbar.
Ich habe eine Funktion geschrieben, die auch genau das tut was sie soll - aber die Zellen, in denen sie eingesetzt ist, aktualisieren sich nicht automatisch, wenn sich die der Funktion übergeben Werte ändern. Das Set up ist so, dass ich in einen Reiter Rohdaten lade (über ein Add In eines dritten Produktes) und die Funktion aus diesen bestimmte Werte rauspickt und summiert. Das klappt auch - im Prinzip. Wenn ich aber die Daten in den Rohdatenreiter lade, dann aktualisieren sich die Funktionsergebnisse in den Zellen nicht automatisch, man muss immer in die Zelle gehen, F2 und Enter drücken bevor der neue Wert da steht.
Wie kann ich das so hinbekommen, dass die Funktionen immer sofort durchgerechnet werden?
Die Funktion sie grob so aus:
Function get_Q(AA As String, BB As String, CC As String) As Double
strCombi = AA & BB & CC
get_Q = Evaluate("=SUMPRODUCT(('Q'!$K$4:$K$14214=" & strCombi & ")*'Q'!$I$4:$I$14214)")
End Function
Dank & Gruss,
b.
AW: Permanentes Berechnen einer function erzwingen
25.04.2011 22:59:50
tommy
Hallo b...,
versuchs doch mal mit diesem Workbookereignis (ggf. Berechnungsbereich über Target eingrenzen):
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.Calculate
End Sub
VG
tommy
ups:Permanentes Berechnen einer function erzwingen
25.04.2011 23:03:33
tommy
...."Berechnungsbereich" ist quatsch formuliert - Parameterbereich sollte das sich ändernde Target nennen...
AW: ups:Permanentes Berechnen einer function erzwingen
25.04.2011 23:34:34
b.
Hi Tommy,
vielen Dank.
Aber noch ne Frage zum Verständnis: dieses Ereignis erzwingt dann für alle Sheets (=Sh ?) für die angegebenen Ranges eine Berechnung der Funktionen, richtig? Muss ich dann für alle Sheets (ich hab 109 das anlegen? Und alle Ranges?
Dank & Gruss,
b.
Anzeige
AW: ups:Permanentes Berechnen einer function erzwingen
25.04.2011 23:36:59
b.
... ein weiterer Punkt ist Performance: ich habe ziemlich viele (500?) Zellen, in denen meine Funktion mit jeweils verschiedenen Parameter aufgerufen wird. Daher möchte ich eigentlich, dass die Funktion nur dann rechnet, wenn sich wirklich etwas geändert hat - oder nur beim Speichern der Datei ...
AW: Permanentes Berechnen einer function erzwingen
25.04.2011 23:42:38
Tino
Hallo,
versuch es mal mit
Application.Volatile
als erste Zeile in der Funktion
Gruß Tino
AW: Permanentes Berechnen einer function erzwingen
26.04.2011 00:00:58
b.
Danke!
Das hab ich gerade auch entdeckt, funzt ganz gut ... aber ne runde Lösung ist das noch nicht, weil dann jedes Mal, wenn man in irgendeine Zelle geht, ALLE Zellen mit Funktionen nachgerechnet werden. Und das sind bei einigen hundert Zellen bei mir ca. 10 Sekunden. Das ist relativ benutzerunfreundlich ...
Irgendeine Idee wie man das noch optimieren kann?
VIELEN DANK & Gruss,
b.
Anzeige
AW: Permanentes Berechnen einer function erzwingen
26.04.2011 00:22:39
tommy
Application.volatile=PerfomanceKiller
zur Eingrenzung:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Parameterbereich As Range
'1.Blatt eingrenzen hier als Beispiel über Name
If Sh.Name = "MeineTabelle" Then
'2. Bereich eingrenzen wo sich die Parameter ändern
'Beispiel hier: A1:A10 sei der Parameterbereich
Set Parameterbereich = Intersect(Target, Range("A1:A10"))
If Not Parameterbereich Is Nothing Then
 Bereich.Calculate ' Bereich musst du anpassen
End If
End If
End Sub
Die Berechnung in Bereich wird also nur gestartet, wenn sich etwas in A1 bis A10 ändert.
Willst du berechnen wenn gespeichert wird, nimmst du das Workbook_BeforeSave() Ereignis.
VG
Tommy
Anzeige
AW: Permanentes Berechnen einer function erzwingen
26.04.2011 00:32:52
b.
Hi Tommy,
das sieht gut & logisch aus - nur dann berechnen, wenn sich etwas ändert. Ich probiere das morgen mal aus!
Vielen Dank & Gruss & gute Nacht,
b.
AW: Permanentes Berechnen einer function erzwingen
26.04.2011 00:54:20
b.
... funzt super, Performance DEUTLICH besser!
VIELEN DANK!
Jetzt kann ich beruhigt schlafen!
b.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige