Artikel-ID: 144508 - Geändert am: Mittwoch, 17. August 2005 - Version: 2.1

Methode nicht bestimmte Formeln berechnen kann berechnen mit

Auf dieser Seite

Alles erweitern | Alles schließen

Problembeschreibung

Wenn Sie Werte in einem Arbeitsblatt berechnen, möglicherweise Formeln, die auf Zellen verweisen, die benutzerdefinierte Funktionen enthalten nicht ordnungsgemäß berechnet werden.

Ursache

Dieses Problem kann auftreten, wenn folgende Bedingungen erfüllt sind:

  • Eine Zelle im Arbeitsblatt enthält eine benutzerdefinierte Funktion.

    -und-
  • Eine Zelle im Arbeitsblatt enthält eine Formel, die auf die Zelle mit der benutzerdefinierten Funktion verweist.

    -und-
  • Der Berechnungsmodus auf manuell festgelegt ist (klicken Sie auf die Tools auf Optionen im Menü und klicken Sie auf die Registerkarte Berechnung).

    -und-
  • Sie verwenden eine Visual Basic für Applikationen-Makro, um die Zelle zu berechnen, die benutzerdefinierte Funktion enthält.

    -und-
  • Visual Basic-Anweisung, mit denen Sie die Zelle zu berechnen, die benutzerdefinierte Funktion enthält, wird die folgende Syntax verwendet:

    Range("A1").Calculate

    Hinweis: Bei der vorherigen Anweisung, wird davon gegangen Sie aus, dass Zelle A1 die benutzerdefinierte Funktion enthält.

    -und-
  • Sie manuell neu berechnen, das gesamte Arbeitsblatt wird.

Lösung

Um dieses Problem zu beheben, beziehen Sie Microsoft Excel 97 Service Release 2 (SR-2).

Weitere Informationen zu SR-2 finden Sie in der folgenden Artikel der Microsoft Knowledge Base:

151261  (http://support.microsoft.com/kb/151261/EN-US/ ) : OFF97: So erhalten und installieren Sie Microsoft Office SR-2

Verwenden Sie dieses Problem vorübergehend zu umgehen, eine der folgenden Methoden.

Microsoft bietet Programmierbeispiele für Abbildung nur ohne Gewährleistung oder konkludent. Dies umfasst, ist jedoch nicht beschränkt auf konkludenten Garantien der Handelsüblichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der Programmiersprache, die Programmierungsbeispiele ist und mit den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden vertraut sind. Microsoft Support-Technikern helfen Erläuterung die Funktionalität einer bestimmten Prozedur, Sie werden ändert jedoch nicht diese Beispiele bieten Funktionen hinzugefügt oder Verfahren, um Ihren Anforderungen entsprechend zu erstellen.

Methode 1

Stellen Sie die benutzerdefinierte Funktion volatile. Fügen Sie hierzu die folgende Zeile des Codes an die benutzerdefinierte Funktion:

   Application.Volatile
				


Hinweis: Eine veränderliche Funktion wird jedes Mal neu berechnet, die das Arbeitsblatt neu berechnet wird. Machen Ihre benutzerdefinierte Funktion volatile kann die Leistung Ihres Arbeitsblattes verringern.

Methode 2

Jede Formel, die auf eine Zelle verweist, die eine benutzerdefinierte Funktion enthält hinzufügen. Gehen Sie hierzu fügen Sie die folgenden zur Formel hinzu:

   +(NOW()*0)
				


Wenn Ihr Arbeitsblatt enthält eine benutzerdefinierte Funktion in Zelle A1, und Zelle B1 enthält die folgende Formel beispielsweise

   =A1
				


Ändern Sie die Formel in Zelle B1 in die folgenden:

   =A1+(NOW()*0)
				


Hinweis: Wenn Sie diese Formel in Zelle B1 ändern, wird Zelle B1 jedes Mal neu berechnet, die das Arbeitsblatt neu berechnet wird.

Methode 3

Drücken Sie STRG + ALT + F9, um die Werte in der Arbeitsmappe neu zu berechnen.

Status

Microsoft hat dies ein Problem in den am Anfang dieses Artikels aufgeführten Microsoft-Produkten bestätigt.

Weitere Informationen

Beispiel

Gehen Sie folgendermaßen vor um ein Beispiel im Abschnitt "Problembeschreibung" in diesem Artikel beschriebene Problem anzuzeigen:

  1. Speichern Sie und schließen Sie alle geöffneten Arbeitsmappen und erstellen Sie eine neue Arbeitsmappe.
  2. Drücken Sie [Alt]+[F11], um den Visual Basic-Editor zu starten.
  3. Klicken Sie im Menü Einfügen auf Modul.
  4. Geben Sie den folgenden Code in das Modulblatt ein:
           Function Test() As Long
    
              Static i As Long
    
              Test = i
    
              i = i + 1
    
           End Function
    
           Sub Calc_Custom_Function()
    
              Range("A1").Calculate
    
           End Sub
    						
  5. Drücken Sie ALT + F11, um zu Microsoft Excel zurückkehren.
  6. Geben Sie die folgende Formel in Zelle A1 von Sheet1 ein:

    =Test()
  7. Geben Sie die folgende Formel in Zelle B1 von Tabelle1 ein:

    = A1
  8. Führen Sie das Calc_Custom_Function-Makro mehrere Male.
  9. Drücken Sie F9, um die Werte im Arbeitsblatt zu berechnen.

    Zellen A1 und B1 werden aktualisiert.
  10. Führen Sie das Calc_Custom_Function-Makro mehrere Male.
  11. Drücken Sie F9, um die Werte im Arbeitsblatt zu berechnen.
Zelle A1 wird aktualisiert, wenn Sie davon ausgehen, dass aber die Zelle B1 nicht aktualisiert.

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel 95 Standard Edition
Keywords: 
kbmt kbbug kbdtacode kbfix kbprogramming kbqfe KB144508 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 144508  (http://support.microsoft.com/kb/144508/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Retired KB ArticleDisclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.
 

SPRACHE AUSWÄHLEN