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

Automatisches Berechnen beim Formelaufbau

Automatisches Berechnen beim Formelaufbau
06.07.2006 13:56:19
Chris37170
Hallo Miteinander,
ich habe ein Makro geschrieben, in welches in einen bestimmten Bereich eine Formel geschrieben wird. Sobald die Formel aufgefüllt wurde, fängt das Blatt sofort an diese Formel zu berechnen. Dies soll aber erst geschehen, wenn
alle Formeln abgesetzt sind und das Blatt komplett gefüllt ist.
Ich habe in das Makro schon bestimmte Befehle geschrieben wie
With Application
.Calculation = xlCalculationManual
.CalculateBeforeSave = False
End With
oder auch
Worksheets(1).EnableCalculation = False
aber Excel ist das Berechnen nicht abzugewöhnen.
Gibt es eventuell eine andere Methode?
mfg und schon einmal besten Dank im Voraus
Christoph

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatisches Berechnen beim Formelaufbau
06.07.2006 14:21:07
kermit2210
Hi Christoph,
Du kannst in den Excel Optionen auf dem Reiter 'Berechnen' die Funktion auf Manuell setzen. Ich habe das bei mir mal ausprobiert und Excel berechnet erst beim Speichern.
Gruß,
Jens
AW: Automatisches Berechnen beim Formelaufbau
06.07.2006 14:25:40
Chris37170
Hallo Jens,
herzlichen Dank für die Antwort. Leider ist dies nicht die Lösung, da dies durch das Makro
With Application
.Calculation = xlCalculationManual
.CalculateBeforeSave = False
End With
schon ausgeführt wird.
Trotzdem herzlichen Dank für Deine Antwort
mfg
Christoph
AW: Automatisches Berechnen beim Formelaufbau
07.07.2006 14:06:40
Chris37170
Als Ergänzung hierzu kam von unserem Support, dass dies höchstwahrscheinlich ein Bug unter Excel ist. Manuell per Formeleingabe funktioniert, aber wird z.B. folgendes Konstrukt per VBA abgesetzt, so wird die automatische Berechnung gestartet.

Sub Test()
Dim intI As Integer
With Application
.Calculation = xlCalculationManual
End With
Range(Cells(1, 3), Cells(10, 3)).FormulaR1C1 _
= "=RC[-2]-RC[-1]"
End Sub

mfg
Christoph
Anzeige
AW: Automatisches Berechnen beim Formelaufbau
07.07.2006 18:30:35
IngGi
Hallo Christoph,
mal ein ganz anderer Ansatz. Wenn du deine Formeln in folgendes Konstrukt packst, kommen diese von vornherein nur zur Anwendung, wenn alle Zellen in einem bestimmten Bereich (hier: A1:E5) gefüllt sind.
=WENN(ZEILEN(A1:E5)*SPALTEN(A1:E5)=ANZAHL2(A1:E5);DeineFormel;"")
Ansonsten bleibt die Zelle "leer". Wenn sich deine Formeln nicht in einem zusammenhängenden Bereich befinden, kannst du ja trotzdem einen Bereich wählen, der alle Formeln umfasst. Dann müsstest du natürlich schauen, wieviele Leerzellen sich in diesem Bereich befinden, wenn alle Formelzellen ausgefüllt sind. Diese Zahl musst du in die obige Berechnung mit einfließen lassen. Wenn also z.B. 6 Zellen im Bereich immer leer bleiben, müsste das Ganze so aussehen:
=WENN(ZEILEN(A1:E5)*SPALTEN(A1:E5)=ANZAHL2(A1:E5)+6;DeineFormel;"")
Gruß Ingolf
Anzeige
AW: Automatisches Berechnen beim Formelaufbau
08.07.2006 10:58:13
chris37170
Hallo Ingolf,
herzlichen Dank für Deine Antwort. Leider führt sie nicht zur Lösung. Die angehängte Formel ist nur als Beispiel gedacht.
Ich entwickele für einen Kunden ein umfangreiches Berichtswesen. Die Zugriffszeiten sind, um es vorsichtig auszudrücken eine Katastrophe. Dies liegt weniger am Frontend, sondern mehr an den umfangreichen Daten des Kunden.
Dieses Frontend, welches unter Excel läuft, ist Teil eines Management Informationssystem, mit Namen MIK-OLAP. Das Frontend dazu heisst MIk-XLReport.
Da viele Daten auch viele Rechenoperationen mit sich bringen, wird das Berichtswesen mit einem Range Objekt aufgebaut, da je nach Anforderung mal mehr oder weniger Zeilen benötigt werden.
Das Frontend bringt eine Optimierungsroutine unter Excel mit, die sogenannte schnellere Abfragen erlaubt. Excel ist in diesem Fall ein VW-Käfer. Die Optimierung ein Porsche.
Leider ist über den obigen Bug die schnellere Abfrage nicht möglich, da diese erst nach dem Aufbau und dem MIK-Internen kalkulieren (schneller als das eigentliche Excel) greifen würde.
Deshalb suche ich eine Möglichkeit die Formeln per Makro aufzubauen um dann die interne Logig des Frontends benutzen zu können.
Dies sieht z.B. im Original so aus.
Range(Cells(lngZeileRegion, lngI), Cells(lngAnzZeile, lngI)).FormulaR1C1 = _
"=MIKData7(gDB,""" & strWuerfelVVC & """,aktDatArt,aktVertKanal,RC" & intSpalteRegion & ",R" & lngZeileZiel & "C" & aktSpalte & ",R14C,aktPeriode,aktJahr)"
Dabei können einmal 10 beim anderen 4.000 Zeilen benötigt werden. Dazu kommen, je nach Auswahl ca. 50 - 100 Spalten.
Bei 4.000 mal 100 komme ich aber ganz schnell auf 400.000 Einzelabfragen. Diese sollen natürlich nicht einzeln berechnet werden, sondern den Turbo-Lader bekommen. ;-))
Christoph
Anzeige
AW: Automatisches Berechnen beim Formelaufbau
08.07.2006 12:48:39
Erich
Hallo Christoph,
hilft evtl. diese Zeile zu Beginn des Makros:
Application.ScreenUpdating = False
zu korrigieren am Ende mit:
Application.ScreenUpdating = True
mfg
Private Tippgemeinschaft für Lotto oder KENO: http://www.kenostrategen.de
AW: Automatisches Berechnen beim Formelaufbau
08.07.2006 14:26:27
Chris37170
Hallo Erich,
auch Dir herzlichen Dank. Dies ist natürlich in alle meine Makros eingebaut, wobei MIK-XLReport hier noch einen mächtigeren Befehl mitbringt.
Funktioniert so aber nicht. MS hat hier wohl einen entsprechenden Bug, der auch in Excel 2003 enthalten ist.
mfg
Christoph
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige