Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Neuberechnung erzwingen

Neuberechnung erzwingen
10.12.2004 14:39:00
Udo
Hallo,
ich habe eine Tabelle, in der ich Geburtstage erfasse. Weiterhin habe ich eine Funktion geschrieben, die den Tabelleninhalt in ein Array einliest. Dieses Array wiederum dient als Grundlage für eine Funktion, die in einer anderen Tabelle die Namen der "Geburtstagskinder" ausgibt (eben abhängig vom Datum).
Soweit funktioniert alles hervorragend, wenn ich nun aber in der Geburtstagsliste ein neues Geburtstagskind eintrage, verändert sich logischerweise das Array. Excel scheint es nicht zu interessieren, dass die Funktion nun evtl. veränderte Werte ausgibt. Ein Druck auf F9 bleibt ebenso ohne Konsequenzen, wie eine Neuberechnung durch
Worksheets("Kalender").Calculate
oder auch
Application.Calculate
Einzig das Ändern der Zellen, in der die Funktion Geburtstag() aufgerufen wird, bringt das gewünschte Ergebnis. (also rein in die Zelle, ein Leerzeichen hintendran, wieder raus...)
Wo ist der Schlauch, auf dem ich stehe?
Gruß,
Udo
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Neuberechnung erzwingen
u_
Hallo,
Application.Volatile
an den Anfang der Funktion.
Volatile-Methode
Siehe auch Betrifft Beispiele Zusatzinfo
Kennzeichnet eine benutzerdefinierte Funktion als veränderlich. Solche Funktionen werden immer neu berechnet, wenn in einer beliebigen Zelle des Arbeitsblattes eine Berechnung durchgeführt wird. Nicht veränderliche Funktionen werden nur dann neu berechnet, wenn sich die Eingabevariablen ändern. Diese Methode wird in der Regel in einer benutzerdefinierten Funktion zur Berechnung einer Arbeitsblattzelle verwendet, andernfalls hat sie keine Auswirkung.
Gruß
Anzeige
AW: Neuberechnung erzwingen
10.12.2004 15:13:19
Udo
Klasse funktioniert prima. Danke für die flotte Hilfe :-)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Neuberechnung in Excel erzwingen


Schritt-für-Schritt-Anleitung

Um in Excel die Neuberechnung zu erzwingen, kannst Du folgende Schritte befolgen:

  1. Benutzerdefinierte Funktion erstellen: Wenn Du eine benutzerdefinierte Funktion verwendest, füge am Anfang der Funktion die Zeile Application.Volatile hinzu. Diese Zeile sorgt dafür, dass die Funktion immer neu berechnet wird, wenn irgendeine Berechnung im Arbeitsblatt erfolgt.

    Function Geburtstag() As String
       Application.Volatile
       ' Deine Logik hier
    End Function
  2. Neuberechnung mit F9: Normalerweise kannst Du die Neuberechnung durch Drücken der F9-Taste auslösen. Wenn dies nicht funktioniert, könnte es an der Art der Formel oder Funktion liegen.

  3. Neuberechnung eines bestimmten Blatts: Um ein bestimmtes Blatt neu zu berechnen, verwende den folgenden Befehl in der VBA-Konsole:

    Worksheets("Kalender").Calculate
  4. Globale Neuberechnung: Wenn Du alle Blätter in Deiner Arbeitsmappe neu berechnen möchtest, kannst Du Application.Calculate verwenden.


Häufige Fehler und Lösungen

  • Fehler: F9 funktioniert nicht: Wenn das Drücken von F9 keine Neuberechnung auslöst, könnte dies an nicht-volatile Funktionen liegen. Stelle sicher, dass Du Application.Volatile in Deinen Funktionen verwendest.

  • Fehler: Blätter werden nicht aktualisiert: Wenn ein bestimmtes Blatt nicht aktualisiert wird, überprüfe, ob die Berechnungsoption auf "Automatisch" eingestellt ist. Du kannst dies unter Datei > Optionen > Formeln nachsehen.


Alternative Methoden

  • Manuelle Neuberechnung: Du kannst auch manuell eine Neuberechnung anstoßen, indem Du einen Wert in eine Zelle änderst, die Teil der Formel ist. Dies zwingt Excel, die abhängigen Zellen zu aktualisieren.

  • Verwenden von Makros: Schreibe ein Makro, das die Neuberechnung für alle Blätter in Deiner Arbeitsmappe durchführt. Hier ein einfaches Beispiel:

    Sub AlleBlätterNeuBerechnen()
       Application.Calculate
    End Sub

Praktische Beispiele

  1. Beispiel für die Geburtstagsliste: Wenn Du eine Liste von Geburtstagskindern hast, kannst Du sicherstellen, dass die Funktion, die die Namen dieser Kinder ausgibt, immer aktuell bleibt, indem Du Application.Volatile verwendest.

  2. Datenabhängige Berechnung: Wenn Du eine Funktion hast, die von einer Zelle abhängt (z. B. der aktuelle Monat), stelle sicher, dass diese Funktion volatil ist, um die Neuberechnung zu erzwingen, wenn sich der Monat ändert.


Tipps für Profis

  • Optimierung der Performance: Zu viele volatile Funktionen können die Performance Deines Excel-Dokuments beeinträchtigen. Verwende sie nur, wenn es notwendig ist.

  • Verwendung von Named Ranges: Überlege, Named Ranges zu verwenden, um die Lesbarkeit und Wartbarkeit Deiner Funktionen zu erhöhen.


FAQ: Häufige Fragen

1. Wie kann ich die Neuberechnung in Excel erzwingen, wenn es nicht funktioniert? Wenn die Neuberechnung nicht funktioniert, überprüfe, ob alle benutzerdefinierten Funktionen mit Application.Volatile gekennzeichnet sind. Du kannst auch versuchen, die Berechnungseinstellungen auf "Automatisch" zu setzen.

2. Was ist der Unterschied zwischen Application.Calculate und Worksheets("Blattname").Calculate? Application.Calculate berechnet alle Blätter in der Arbeitsmappe neu, während Worksheets("Blattname").Calculate nur das angegebene Blatt neu berechnet.

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