Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
808to812
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
808to812
808to812
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Excel Neuberechnung

Excel Neuberechnung
06.10.2006 13:07:20
Berthold
Hallo Zusammen,
ich benutze eine benutzerdefinierte funktion, um Daten aus einer Datenbank abzufragen.
Ändern sich die Daten in der Datenbank, so berechnet Excel in der Regel diese Daten nicht neu, weil sich ja keine Eingabe für die Funktion verändert hat.
Eine permanente Neuberechnung wäre auch nicht wünschenswert, da dies zu erheblichen ständigen Neuberechnungen führen würde.
Deshalb die Frage: Gibt es eine Möglichkeit eine Neuberechnung aller, oder besser nur bestimmter Funktionen anzustossen über eine Ereignissteuerung?
Grüße
Berthold

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Neuberechnung
06.10.2006 13:57:51
ChrisL
Hallo Berthold
Ich glaube dein Problem löst man i.d.R. mittels Befehlszeile:
Application.Volatile
Gruss
Chris
AW: Excel Neuberechnung
06.10.2006 14:14:18
Berthold
Hallo Chris,
vielen Dank für Deine Antwort, leider löst das nicht mein Problem.
Die Befehlszeile
Application.volatile
sorgt für andauernde Neuberechungen der Funktionen. Ich will aber diese Neuberechnung ohne Eingabe nur einmalig anstossen, entweder manuell oder ereignisgesteuert z.B. durch worbook open.
Grüße
Berthold
AW: Excel Neuberechnung
06.10.2006 14:40:52
Heiko
Hallo Berthold,
suchst du das ?!
Calculate-Methode
Siehe auch Betrifft Beispiele Zusatzinfo
Diese Methode berechnet alle geöffneten Arbeitsmappen, ein bestimmtes Arbeitsblatt einer Arbeitsmappe oder einen bestimmten Zellbereich in einem Arbeitsblatt (siehe Tabelle unten).
Berechnetes Objekt Beispiel
Alle geöffneten Arbeitsmappen Application.Calculate (oder einfach Calculate)
Ein bestimmtes Arbeitsblatt Worksheets(1).Calculate
Ein bestimmter Bereich Worksheets(1).Rows(2).Calculate
Ausdruck.Calculate
Ausdruck Optionaler Wert für Application-Objekte, erforderlich für Worksheet- und Range-Objekte. Es ist ein Ausdruck anzugeben, der ein Objekt zurückgibt. Um eine Liste der verfügbaren Objekte zu erhalten, klicken Sie auf Betrifft.
Beispiel
Dieses Beispiel berechnet die Formeln in den Spalten A, B und C im verwendeten Bereich von Sheet1.
Worksheets("Sheet1").UsedRange.Columns("A:C").Calculate
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Excel Neuberechnung
06.10.2006 14:56:25
Berthold
Hallo Heiko,
das geht in die richtige Richtung.
Aber die Berechnung wäre zu umfangreich.
Die Funktion, auf die es ankommt, steht auf einem dutzend Sheets, es sind auch häufiger Arbeitsmappen gleichen Typs geöffnet.
Falls es eine Möglichkeit gäbe nicht gleich die ganze Applikation durchzurechnen, sondern nur die Arbeitsmappe, besser noch (weil auch sonst noch viel in den Sheets ist) nur die konkreten Funktionen, dann wäe das die richtige Lösung.
Grüße
Berthold
AW: Excel Neuberechnung
06.10.2006 15:01:41
Heiko
Hallo Berthold,
also Arbeitsmappe, Tabelle und Range lassen sich bei Caluclate ja angeben.
Siehe mein ersten Post, was übrigens nur ein Auszug aus der VBA Hilfe war.
Das dann nur noch auf eine bestimmte Funktion zu beschränken (also deine Funktion im Range wird berechnet, aber andere nicht) geht meines Wissens nicht.
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Excel Neuberechnung
06.10.2006 15:04:36
Berthold
Hallo Heiko,
vielleicht stehe ich ja auf der Leitung, doch laut Hilfe geht nur Application, worksheet und Range-Objekte? Workbook ist nicht angegeben und wird auch im Code nicht akzeptiert.
Grüße
Berthold
AW: Excel Neuberechnung
06.10.2006 15:22:44
Heiko
Hallo Berthold,
hast recht, geht nicht alles (Direkt)

Sub test()
' Diese 3 Befehle gehen
' Um nur bestimmte Dateien und Worksheets anzusprechen muss du halt mit Schleifen oder Wiederholungen arbeiten.
' Application.Calculate
' Workbooks("Mappe1").Worksheets("Tabelle1").Range("C1:C5").Calculate
' Workbooks("Mappe2").Worksheets("Tabelle1").Range("C1:C5").Calculate
' Workbooks("Mappe3").Worksheets("Tabelle1").Range("C1:C5").Calculate
Workbooks("Mappe1").Worksheets("Tabelle1").Calculate
' Dies geht Nicht !!!
' Workbooks("Mappe1").Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Calculate
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Excel Neuberechnung
06.10.2006 15:34:06
Berthold
Hallo Heiko,
habe das mal für die Applikation getestet, leider funktioniert es nicht.
Eine Eingabe bleibt erforderlich.
Ich vermute, dass calculate nur eine Neuberechnung anstößt, wenn Werte geändert wurden im Excelsheet, aber nicht neu kalkuliert wurde.
Gibt es jedoch keine neue Eingabe gegenüber der letzten Berechnung, scheint calculate nicht zu reagieren.
Grüße
Berthold
AW: Excel Neuberechnung
06.10.2006 16:39:21
Berthold
Hallo Heiko,
du hast mich auf die richtige Fährte gebracht.
Calculate greift tatsächlich nur, wenn innerhalb Excel eine Veränderung registriert wurde (Aus der Hilfe zur Dirty- Methode).
Was aber in jedem Falle eine Neuberechnung erzwingt ist die calculatefull Methode, die tatsächlich zur vollständigen Neuberechnung führt.
Danke und Grüße
Berthold
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige