Excel aktualisierung

hallo zusammen,

ich habe eine Formel in excel erstellt und beziehe mich auf andere Felder , also so in etwa a1=c1*c3-c5. Wenn ich nun in c1, c3 oder c5 etwas ändere aktualisiert er mir nicht a1. Ich muss erst in a1 doppelklicken etwas mit dem cursor durch die zeile fahren und dann Enter drücken dann aktualisiert er das. Ist dies normal? Da ich die Formel ca. 50mal untereinander stehen habe, mit jeweils fortlaufenden zellennummern, müsste ich jetzt bei allen 50 kästchen extra nocheinmal reingehen und diese mit enter bestätigen, so dass sie sich aktualisieren.

Wisst ihr wie ich das besser machen kann?

Hallo,

es gibt zwei Möglichkeiten:

  1. durch drücken der Taste F9 werden die Inhalte neu berechnet,

  2. Unter „Extras“ - „Optionen“ - Registerkarte „Berechnung“ hier einen Haken bei „Berechnung automatisch“ setzen, dann wird nach jeder Eingabe automatisch neu berechnet.

Viele Grüße
shooty

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Unter „Extras“ - „Optionen“ - Registerkarte „Berechnung“
hier einen Haken bei „Berechnung automatisch“ setzen, dann
wird nach jeder Eingabe automatisch neu berechnet.

Hallo shooty
Obwohl ich die Einstellungen so gemacht habe, passiert es mir oft, dass die Berechnungen nicht immer gemacht werden. Einmal ist alles bestens, dann wieder nicht - im gleichen Arbeitsblatt. Weisst Du, woran das liegen kann? Oder weiss es sonst jemand?
Das Problem hatte ich in uralten Excel-Versionen und habe es auch im Excel 2003.
Grüsse
Niclaus

Unter „Extras“ - „Optionen“ - Registerkarte „Berechnung“
hier einen Haken bei „Berechnung automatisch“ setzen, dann
wird nach jeder Eingabe automatisch neu berechnet.

Obwohl ich die Einstellungen so gemacht habe, passiert es mir
oft, dass die Berechnungen nicht immer gemacht werden. Einmal
ist alles bestens, dann wieder nicht - im gleichen
Arbeitsblatt. Weisst Du, woran das liegen kann? Oder weiss es
sonst jemand?

Die Eingabe mit enter abschließen, dann müsste es passieren.

Gruß
Marion

Die Eingabe mit enter abschließen, dann müsste es passieren.

Hallo Marion
Das hab ich schon gemacht. Es ist so, dass es bei der gleichen Datei im gleichen Blatt, ohne dass die Optionen geändert worden wären, auch bei nur ganz wenigen Aenderungen einzelner Zellen gestern gegangen ist und heute nicht mehr geht. Berechnet - oder eben mal nicht berechnet - werden vor allem Funktionen, die ich selber im VBA geschrieben habe.
Dieses Problem hatte ich schon in älteren xls-Versionen bis hin zu xls 2003.
Falls Dir mal etwas in den Sinn kommt, wo da der Fehler liegen könnte, wäre ich froh, wenn Du es mir sagst.
Grüsse Niclaus

Hallo Niclaus,

Berechnet - oder eben mal nicht berechnet - werden vor allem
Funktionen, die ich selber im VBA geschrieben habe.

handelt es sich tatsächlich um Funktionen oder um Makros?

Ein Makro besteht aus einer Reihe von Befehlen und Funktionen. Die Funktion ist lediglich eine vordefinierte Formel, an die ein oder mehrere Werte übergeben werden müssen, die eine Operation ausführt und einen oder mehrere Werte zurückgibt.

In der Regel müssen die Makros gestartet werden, das kann auf unterschiedliche Weise geschehen, z. B. durch eine Tastenkombination, die Änderung eines Zellwertes, das Öffnen einer Datei oder was auch immer. Es kommt darauf an, wie das Makro progammiert wurde. Die Funktion dagegen ist einfach eine Formel zur Vereinfachung von komplexen und langen Berechnungen.

Wahrscheinlich liegt hier der Grund für den beschriebenen Effekt. Leider kann ich dazu nichts weiter sagen, da ich deine selbstgeschriebenen Funktionen nicht sehen kann. Ich würde sagen, prüfe deine selbstgeschriebenen Scripte im visual-basic-editor.

Gruß
Marion

Ich würde sagen, prüfe deine selbstgeschriebenen Scripte im
visual-basic-editor.

Hallo Marion
So eine Funktion, die mal funktioniert, dann wieder nicht, ist z. B. folgende:
Function quartal0(zahl) ’ x. Quartal jjjj (± Monatszahl)
z = Month(Now() + zahl * 30)
A$ = "1. Quartal "
B$ = "2. Quartal "
C$ = "3. Quartal "
D$ = "4. Quartal "
x = Application.Choose(z, A$, A$, A$, B$, B$, B$, C$, C$, C$, D$, D$, D$)
quartal0 = x & Year(Now() + zahl * 30)
End Function

Ich brauche sie für verschiedene Abrechnungen. Mit (zahl) kann ich sagen, ob ich das aktuelle Quartal will (zahl=0) oder das vergangene (zahl = -3) usw.

Siehst Du etwas, was man da geschickter formulieren sollte?
Danke für Deine Mühe und Grüsse
Niclaus

Hallo Niclaus,

So eine Funktion, die mal funktioniert, dann wieder nicht, ist
z. B. folgende:
Function quartal0(zahl) ’ x. Quartal jjjj (±
Monatszahl)
z = Month(Now() + zahl * 30)
A$ = "1. Quartal "
B$ = "2. Quartal "
C$ = "3. Quartal "
D$ = "4. Quartal "
x = Application.Choose(z, A$, A$, A$, B$, B$, B$, C$, C$,
C$, D$, D$, D$)
quartal0 = x & Year(Now() + zahl * 30)
End Function

Ich brauche sie für verschiedene Abrechnungen. Mit (zahl) kann
ich sagen, ob ich das aktuelle Quartal will (zahl=0) oder das
vergangene (zahl = -3) usw.

Das Problem ergibt sich aus der angenommenen Monatslänge von jeweils 30 Tagen. Da bietet sich eher die Funktion DateAdd an.

Gruß
Marion

Hallo Marion
Herzlichen Dank für Deine Version. Sie ist einiges professioneller und viel eleganter als mein Steinzeit-Gebilde.
Grüsse Niclaus

Herzlichen Dank für Deine Version. Sie ist einiges
professioneller und viel eleganter als mein Steinzeit-Gebilde.

Hi Marion bzw. Niclaus,
wie sieht denn die Version aus?
Gruß
Reinhard

Hi Marion bzw. Niclaus,
wie sieht denn die Version aus?
Gruß Reinhard

Grüss Dich Reinhard
Marion hat mir folgende Prozedur geschrieben

Function quartal0(zahl) As String
Dim datum As Date
Dim m As Long
datum = DateAdd(„q“, zahl / 3, Date)
m = Month(datum)
quartal0 = (m + 2) \ 3 & ". Quartal " & Year(datum)
End Function

Für Dich ist es sicher nichts weltbewegendes, aber für mich mit meinen Steinzeit-Makros … Das DateAdd z. B.: Ich kann mich nicht erinnern, dem mal begegnet zu sein.
Grüsse Niclaus

datum = DateAdd(„q“, zahl / 3, Date)
Für Dich ist es sicher nichts weltbewegendes, aber für mich
mit meinen Steinzeit-Makros … Das DateAdd z. B.: Ich kann
mich nicht erinnern, dem mal begegnet zu sein.

Hi Niclaus,
den DateAdd-Befehl kannte ich nun auch nicht, aber von mir unbekannten Befehlen wimmelt es bei Vba :smile:
Nur mal so, hier bei XL2002 nicht, aber bei XL97, XL2000 gibt es die Excelfunktion =Datediff() und in Vba als Worksheetfunction.Datedif() die sehr gut ist um Datumsdifferenzen zu berechnen, die ist auch recht unbekannt.
Noch dazu in der Hilfe falsch beschrieben, man muss englische Abkürzungen nehmen, also y für Jahr usw.
Gruß
Reinhard