Freigeben über


Beheben von Problemen in benutzerdefinierten Funktionen

Wenn Sie benutzerdefinierte Funktionen entwickeln, können beim Erstellen und Testen Ihrer Funktionen Fehler im Produkt auftreten.

Wichtig

Beachten Sie, dass benutzerdefinierte Excel-Funktionen auf den folgenden Plattformen verfügbar sind.

  • Office im Web
  • Office unter Windows
    • Microsoft 365-Abonnement
    • retail unbefristete Office 2016 und höher
    • volumenlizenzierte unbefristete Office 2021 und höher
  • Office für Mac

Benutzerdefinierte Excel-Funktionen werden derzeit in den folgenden Artikeln nicht unterstützt:

  • Office auf dem iPad
  • Volumenlizenzierte unbefristete Versionen von Office 2019 oder früher unter Windows

Um Probleme zu beheben, können Sie die Laufzeitprotokollierung aktivieren, um Fehler zu erfassen und auf die nativen Fehlermeldungen von Excel zu verweisen. Überprüfen Sie auch auf häufige Fehler, beispielsweise ob Zusagen eingehalten wurden.

Debuggen von benutzerdefinierten Funktionen

Informationen zum Debuggen von Add-Ins für benutzerdefinierte Funktionen, die eine freigegebene Runtime verwenden, finden Sie unter Konfigurieren Ihres Office-Add-Ins für die Verwendung einer freigegebenen Runtime: Debuggen.

Informationen zum Debuggen von Add-Ins für benutzerdefinierte Funktionen, die keine freigegebene Runtime verwenden, finden Sie unter Debuggen von benutzerdefinierten Funktionen.

Aktivieren der Protokollierung zur Laufzeit

Wenn Sie Ihr Add-In in Office unter Windows testen, sollten Sie die Laufzeitprotokollierung aktivieren. Die Laufzeitprotokollierung liefert console.log-Anweisungen an eine separate Protokolldatei, die erstellt wird, um Ihnen bei der Ermittlung von Problemen zu helfen. Die Anweisungen decken eine Vielzahl von Fehlern ab, einschließlich Fehler in Bezug auf die XML-Manifestdatei Ihres Add-Ins, die Laufzeitbedingungen oder die Installation Ihrer benutzerdefinierten Funktionen. Weitere Informationen zur Laufzeitprotokollierung finden Sie unter Debuggen des Add-Ins mit Laufzeitprotokollierung.

Überprüfen auf Excel-Fehlermeldungen

Excel stellt eine Reihe von eingebauten Fehlermeldungen zur Verfügung, die bei einem Berechnungsfehler an eine Zelle zurückgegeben werden. Benutzerdefinierte Funktionen verwenden nur die folgenden Fehlermeldungen: #NULL!, #DIV/0!, #VALUE!, #REF!, #NAME?, #NUM!, #N/A und #BUSY!.

Im Allgemeinen entsprechen diese Fehler den Fehlern, mit denen Sie möglicherweise bereits in Excel vertraut sind. Es gibt nur wenige Ausnahmen für benutzerdefinierte Funktionen, die hier aufgeführt sind:

  • Ein #NAME-Fehler bedeutet im Allgemeinen, dass ein Problem bei der Registrierung Ihrer Funktionen aufgetreten ist.
  • Ein #N/A-Fehler ist vielleicht auch ein Zeichen dafür, dass diese Funktion trotz Registrierung nicht ausgeführt werden konnte. Dies liegt in der Regel an einem fehlenden CustomFunctions.associate-Befehl.
  • Ein #VALUE-Fehler zeigt in der Regel einen Fehler in der Skriptdatei der Funktionen an.
  • Ein #REF!-Fehler zeigt möglicherweise an, dass der Funktionsname mit einem Funktionsnamen in einem bereits vorhandenen Add-In übereinstimmt.

Löschen des Office-Caches

Informationen zu benutzerdefinierten Funktionen werden von Office zwischengespeichert. Manchmal werden beim Erstellen und wiederholten Neuladen eines Add-Ins mit benutzerdefinierten Funktionen Ihre Änderungen möglicherweise nicht angezeigt. Sie können dies beheben, indem Sie den Office-Cache löschen. Weitere Informationen finden Sie unter Löschen des Office-Caches.

Häufige Probleme und Lösungen

Add-In kann nicht über localhost geöffnet werden: Verwenden einer lokalen Loopbackausnahme

Wenn der Fehler "Wir können dieses Add-In nicht über localhost öffnen" angezeigt wird, müssen Sie eine lokale Loopbackausnahme aktivieren. Ausführliche Informationen dazu finden Sie in diesem Microsoft Support-Artikel.

Protokollierung zur Laufzeit meldet "TypeError: Netzwerkanforderung fehlgeschlagen" in Excel für Windows

Wenn bei Aufrufen an Ihren localhost-Server die Fehlermeldung "TypeError: Netzwerkanforderung fehlgeschlagen" in Ihrem Laufzeitprotokoll angezeigt wird, müssen Sie eine lokale Loopback-Ausnahme aktivieren. Ausführliche Informationen dazu finden Sie unter Option 2 in diesem Microsoft Support-Artikel.

Sicherstellen, dass Versprechen eingelöst werden

Wenn Excel darauf wartet, dass eine benutzerdefinierte Funktion abgeschlossen wird, wird #BUSY in der Zelle angezeigt. Wenn Ihr benutzerdefinierter Funktionscode eine Zusage zurückgibt, die Zusage aber kein Ergebnis liefert, zeigt Excel weiter #BUSY! an. Überprüfen Sie Ihre Funktionen, um sicherzustellen, dass alle Versprechungen ein Ergebnis in eine Zelle zurückgeben.

Fehler: Der Entwicklungsserver wird bereits an Port 3000 ausgeführt

Manchmal sehen Sie beim Ausführen von npm start möglicherweise einen Fehler, der besagt, dass der Entwicklungsserver bereits an Port 3000 (oder dem vom Add-In verwendeten Port) ausgeführt wird. Sie können den Entwicklungsserver anhalten, indem Sie npm stop ausführen oder das Fenster „Node.js“ schließen. In einigen Fällen kann es einige Minuten dauern, bis der Entwicklungsserver nicht mehr ausgeführt wird.

Funktionen werden nicht geladen: Funktionen zuordnen

In Fällen, in denen Ihre JSON-Datei nicht registriert wurde und Sie Ihre eigenen JSON-Metadaten verfasst haben, wird möglicherweise ein #VALUE!-Fehler angezeigt, oder Sie erhalten die Benachrichtigung, dass das Add-In nicht geladen werden kann. Dies bedeutet normalerweise, dass Sie jeder benutzerdefinierten Funktion die zugehörige, in der JSON-Metadatendatei festgelegte id-Eigenschaft zuordnen müssen. Dies erfolgt mithilfe der CustomFunctions.associate() -Funktion. In der Regel erfolgt dieser Funktionsaufruf nach jeder Funktion oder am Ende der Skriptdatei. Wenn eine benutzerdefinierte Funktion nicht zugeordnet wurde, funktioniert sie nicht.

Das folgende Beispiel zeigt eine add-Funktion, gefolgt vom Namen der Funktion (add), der der entsprechenden JSON-ID ADD zugeordnet ist.

/**
 * Add two numbers.
 * @customfunction
 * @param {number} first First number.
 * @param {number} second Second number.
 * @returns {number} The sum of the two numbers.
 */
function add(first, second) {
  return first + second;
}

CustomFunctions.associate("ADD", add);

Weitere Informationen zu diesem Prozess finden Sie unter Zuordnen von Funktionsnamen zu JSON-Metadaten.

Bekannte Probleme

Bekannte Probleme werden im GitHub-Repository für benutzerdefinierte Excel-Funktionen nachverfolgt und gemeldet.

Feedback geben

Wenn Sie auf Probleme stoßen, die hier nicht dokumentiert sind, lassen Sie es uns wissen. Sie können Probleme auf zwei Arten melden:

In Excel unter Windows oder Mac

Wenn Sie Excel unter Windows oder macos verwenden, können Sie Feedback direkt aus Excel an das Office-Erweiterbarkeitsteam senden. Wählen Sie dazu Datei>Feedback>Stirnrunzeln senden aus. Das Senden eines Stirnrunzelns stellt die erforderlichen Protokolle bereit, um das Problem zu verstehen, auf das Sie gestoßen sind.

In Github

Sie können ein Problem, auf das Sie stoßen, entweder über die Funktion "Content Feedback" (Feedback zum Inhalt) am Ende jeder Seite der Dokumentation oder durch Melden eines neuen Problems direkt an das Repository für benutzerdefinierte Funktionen übermitteln.

Nächste Schritte

Erfahren Sie, wie Sie dafür sorgen, dass Ihre benutzerdefinierten Funktionen mit benutzerdefinierten XLL-Funktionen kompatibel sind.

Siehe auch