Joe verwendet die EOMONTH-Funktion ziemlich häufig, aber seit er auf Excel 2007 umgestiegen ist, hatte er Probleme. Joe hat das Analysis ToolPak aktiv und die EOMONTH-Funktion funktioniert zunächst. Wenn er jedoch seine Arbeitsmappe speichert und später öffnet, sehen die Zellen mit der EOMONTH-Funktion gut aus, bis Sie darauf klicken. Dann zeigt die Formelleiste # N / A. Die Formel ist verschwunden. In diesem Fall ist Analysis ToolPak noch aktiv. Dies passiert nicht bei jeder Gelegenheit, ist aber zu häufig, um es zu ignorieren. Außerdem hat Joe einen Kollegen, der das gleiche Problem mit seinen Arbeitsmappen hat.

Dieses Problem mit EOMONTH tritt anscheinend aufgrund von Änderungen an der EOMONTH-Funktion in späteren Versionen von Excel (Excel 2007 und höher) auf.

In früheren Versionen von Excel (Excel 2003 und früher) war EOMONTH Teil des Analysis ToolPak. In späteren Versionen von Excel wird das ToolPak nicht mehr benötigt. Die Funktion ist Teil von Excel. Mit anderen Worten, Sie müssen das Analysis ToolPak nicht aktiviert haben, um EOMONTH verwenden zu können.

Dies führt zu dem Problem. Wenn Sie eine Arbeitsmappe in einer früheren Version von Excel erstellt haben und diese im Kompatibilitätsmodus in einer späteren Version von Excel öffnen, werden die Arbeitsmappenformeln ausgewertet und unter bestimmten Umständen die für Funktionen verwendeten internen „Token“ aktualisiert.

Wenn die Arbeitsmappe gespeichert und wieder verlassen wird, wird das aktualisierte Token in der Arbeitsmappe gespeichert. Wenn die Arbeitsmappe neu geladen wird, zeigt das Token nun auf das, was Excel als ungültige Funktion interpretiert.

Microsoft hat noch nichts in seiner Knowledge Base zu diesem Fehler veröffentlicht. Das Problem scheint zeitweise zu sein (wie Joe bemerkte) und betrifft eine Arbeitsmappe erst, nachdem sie zwischen vier und acht Öffnungs- / Bearbeitungs- / Speicherzyklen durchlaufen hat.

Die Lösung besteht darin, die Arbeitsmappe zu öffnen. Wenn das Problem nicht auftritt, speichern Sie die Arbeitsmappe mit Speichern unter im nativen Excel-Format.

(Nun, im Excel-Format, das in Excel 2007 durch spätere Versionen von Excel nativ ist.) Da der Kompatibilitätsmodus ab diesem Zeitpunkt nicht mehr beteiligt ist, sollte das Problem nicht erneut auftreten. Wenn das Problem auftritt, müssen Sie die Arbeitsmappe korrigieren und neu erstellen.

Wenn es Ihnen nicht möglich ist, die Arbeitsmappe im aktuellen nativen Excel-Format zu speichern (möglicherweise müssen Sie das ältere Excel-Format verwenden, um mit anderen zu arbeiten, die ihr Programm nicht aktualisiert haben), sollten Sie sich nicht auf die EOMONTH-Funktion verlassen . Verwenden Sie stattdessen eine der folgenden Formeln:

=A1+31-DAY(A1+31)

=DATE(YEAR(A1),MONTH(A1)+1,1)-1

Wenn Sie möchten, können Sie Ihre eigene benutzerdefinierte Funktion erstellen, um den letzten Tag eines Monats zu berechnen. Das Folgende ist ein Ansatz:

Function LastOfMonth(Any_Date As Date) As Date     ' Returns the date of the last day of     ' the month of the passed date argument

LastOfMonth = DateAdd("d", -1, _       DateAdd("m", 1, Month(Any_Date) _       & "/1/" & Year(Any_Date)))

End Function

Sie sollten sicherstellen, dass Sie der Funktion ein gültiges Datum übergeben, indem Sie entweder auf ein Datum in einer Zelle verweisen oder ein wörtliches Datum in Anführungszeichen setzen. Angenommen, Zelle B7 enthält das Datum 15.10.18, geben beide der folgenden Ergebnisse zurück:

=LastOfMonth(B7)

=LastOfMonth("10/15/2018")

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (6613) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365.