Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Formel im Namensmanager

Formel im Namensmanager
18.01.2021 21:10:26
MaxKög
Hallo
habe ein Problem mit einer Formel, die ihr Ergebnis nicht berechnet, wenn ich die Datei öffne. Auch nicht mit F9. Automatische Berechnung ist eingestellt. Erst wenn ich mit F2 in die Bearbeitung gehe und dann wieder rausgehe, wird das Ergebnis berechnet.
Leider kann ich keine Beispieldatei posten, denn wenn ich die Datei nachbaue, funktioniert alles. Die Originaldatei zusammenschnipseln wäre zu aufwändig, denn die Formel bezieht sich auf viele Zellen. Aber vielleicht kann man mit diesen Angaben bereits was anfangen.
Die Formel lautet einfach: "=_Berechnung". Im Namensmanager ist unter diesem Namen eine sehr sehr lange Formel mit diesem Namen abgelegt. Sie funktioniert ja richtig mit F2 + Enter, aber nicht von selbst beim Öffnen.
Gruss, Max
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Hänge +JETZT()*0 an
18.01.2021 21:41:13
lupo1
AW: Hänge +JETZT()*0 an
18.01.2021 23:36:34
MaxKög
Du machst ich neugierig, Lupo. Was meinst Du damit?
AW: Hänge +JETZT()*0 an
19.01.2021 00:27:10
ralf_b
jetz() ist eine volatile Funktion oder wie das heißt. Die werden immer berechnet. Somit wird die automatische Berechnung für deine Formel angestoßen und kein Wert deiner Formel verändert weil *0.
gruß
rb
Anzeige
AW: Nicht F9, sondern STRG + ALT + F9
19.01.2021 08:19:28
Sulprobil
Geht es damit?
AW: Nicht F9, sondern STRG + ALT + F9
19.01.2021 22:47:21
MaxKög
Hallo
danke für Eure Antworten, hat aber nicht geholfen.
Hier mein Problemm etwas detaillierter.
https://www.herber.de/bbs/user/143127.xlsx
Kopiere angehängte Datei "143127.xlsx" in ein Verzeichnis.
Aus einer eigenen neuen Datei sollen per Makro von dieser Datei die Zellen L4 und M4 aus Blatt "FFF" kopiert werden. Am liebsten mit GetObject oder Workbooks.Open. Problem: Die beiden Zellen haben eine Formel, die aber nicht rechnet. Das Ergebnis der Formeln sollte der Inhalt der Zellen N136 und O136 des Blatts "EEE" sein. Die Formel selbst steht im Namensmanager. Sie ist nicht meine Erfindung, aber sie funktioniert.
Das aufrufende Makro sieht ungefähr so aus:
Sub Test()
Dim a       As Workbook
Dim Datei   As String
Datei = ThisWorkbook.Path & "\" & "143127.xlsx"
'Der Pfad ist eventuell anzupassen
With GetObject(PathName:=Datei)
Debug.Print "GetObject", .Worksheets("FFF").Range("L4").Value
.Close SaveChanges:=False
End With
Set a = Workbooks.Open(Datei)
Debug.Print "Open", a.Worksheets("fff").Range("L4").Value
End Sub
Vorausgesetzt, das Makro steht im selben Verzeichnis wie "Mappe7.xlsx". Sonst müsste man den Pfad anpassen.
Das Makro zeigt, dass aber nur Nullen übertragen werden. Weil die Formeln eben nicht rechnen.
Wenn ich dann in "L4" mit F2+Enter gehe, wird die Formel sehr wohl berechnet. Aber eben nicht, wenn ich die Datei mit dem Makro öffne. Und das ist mein Problem.
Wenn ich die Datei händisch öffne, sieht man sofort das richtige Ergebnis.
Gruß, Max
Anzeige
AW: Nicht F9, sondern STRG + ALT + F9
20.01.2021 11:05:56
Yal
in the blue...
'...
Set a = Workbooks.Open(Datei)
a.Worksheets("fff").Calculate
Debug.Print "Open", a.Worksheets("fff").Range("L4").Value
End Sub
oder
'...
Set a = Workbooks.Open(Datei)
Debug.Print "Open", a.Worksheets("fff").Range("L4").Evaluate
End Sub
(ungetestet)
VG
Yal
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Formel im Namensmanager


Schritt-für-Schritt-Anleitung

  1. Öffne den Namensmanager:

    • Gehe zu "Formeln" in der Menüleiste und klicke auf "Namensmanager".
  2. Erstelle einen neuen Namen:

    • Klicke auf "Neu" und gib einen Namen für deine Formel ein.
    • Trage die gewünschte Formel in das Feld "Bezieht sich auf" ein.
  3. Verwende die Formel in einer Zelle:

    • Du kannst die Formel jetzt in einer beliebigen Zelle verwenden, indem du den Namen aufrufst, z. B. =MeinName.
  4. Überprüfe die Berechnungseinstellungen:

    • Stelle sicher, dass die automatische Berechnung in deinen Excel-Optionen aktiviert ist (Datei > Optionen > Formeln).
  5. Fehlerbehebung: Wenn die Formel nicht automatisch aktualisiert wird, versuche die volatile Funktion JETZT() hinzuzufügen, um die Berechnung zu triggern: =_Berechnung + JETZT()*0.


Häufige Fehler und Lösungen

  • Formel wird nicht berechnet:

    • Wenn die Formel im Namensmanager nicht automatisch berechnet wird, kann das daran liegen, dass die Berechnungseinstellungen auf "manuell" stehen. Überprüfe dies in den Optionen.
  • Nullwerte bei der Verwendung:

    • Wenn beim Kopieren von Zellen über ein Makro nur Nullen angezeigt werden, stelle sicher, dass die Zellen mit Formeln vor dem Kopieren berechnet werden. Füge a.Worksheets("fff").Calculate nach dem Öffnen der Arbeitsmappe hinzu.

Alternative Methoden

  • Verwendung von Evaluate:

    • Statt den Wert direkt zu verwenden, kannst du Evaluate einsetzen, um die Formel zu berechnen:
      Debug.Print "Open", a.Worksheets("fff").Range("L4").Evaluate
  • Makros zur Automatisierung:

    • Erstelle ein Makro, das die notwendigen Berechnungen durchführt, bevor du die Werte weiterverwendest.

Praktische Beispiele

  • Beispiel einer Formel im Namensmanager:

    • Angenommen, du hast eine Formel zur Berechnung eines Durchschnitts:
      =MITTELWERT(A1:A10)
    • Im Namensmanager nennst du es Durchschnitt, und in einer Zelle kannst du dann =Durchschnitt eingeben.
  • Makro zur Berechnung:

    • Ein einfaches Makro, das eine Formel im Namensmanager verwendet:
      Sub BerechneFormel()
      Dim Ergebnis As Variant
      Ergebnis = Application.Names("Durchschnitt").RefersToRange.Value
      MsgBox "Der Durchschnitt ist: " & Ergebnis
      End Sub

Tipps für Profis

  • Verwende volatile Funktionen: Diese Funktionen, wie JETZT() oder HEUTE(), sorgen dafür, dass die Berechnung immer erfolgt, wenn die Datei geöffnet wird.

  • Optimierung der Berechnung: Achte darauf, dass deine Formeln effizient sind, um die Berechnungszeit zu minimieren, besonders bei großen Datenmengen.

  • Dokumentation und Kommentare: Füge Kommentare in deinen VBA-Code ein, um die Funktionsweise der Makros zu erklären. Das hilft dir und anderen, die den Code später verwenden.


FAQ: Häufige Fragen

1. Warum wird meine Formel im Namensmanager nicht berechnet?
Das kann daran liegen, dass die automatischen Berechnungseinstellungen in Excel deaktiviert sind. Überprüfe dies unter Datei > Optionen > Formeln.

2. Was ist der Unterschied zwischen GetObject und Workbooks.Open?
GetObject öffnet eine existierende Datei, während Workbooks.Open eine neue Instanz der Datei erstellt. Beide Methoden können jedoch zum Kopieren von Werten verwendet werden.

3. Wie kann ich sicherstellen, dass meine Formeln beim Öffnen der Datei immer berechnet werden?
Füge volatile Funktionen wie JETZT() oder HEUTE() zu deinen Formeln hinzu, um sicherzustellen, dass sie bei jeder Öffnung der Datei aktualisiert werden.

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