Excel und VBA – Wo ist der zugrunde liegende Code für Funktionen?

Excel und VBA – Wo ist der zugrunde liegende Code für Funktionen?

Ich habe mich gefragt, ob es irgendwo in Excel oder online eine Möglichkeit gibt, mir anzusehen, wie die Funktionen in Excel funktionieren.

Die Idee ist, dass ich anfange zu lernen, wie man UDFs erstellt und verschiedene Dinge in VBA macht, und dachte, wenn ich sehen könnte, wie Excel Sum()beispielsweise tatsächlich ausgeführt wird, könnte ich lernen, wie ich meinen Code kompakter machen, weniger Platz beanspruchen usw. kann.

Wo ist im Grunde das Repository für die Funktionsweise der integrierten Funktionen von Excel? Ist das überhaupt verfügbar?

Bearbeiten: Ich verstehe, dass die Formeln möglicherweise nicht in VBA geschrieben sind. Das ist in Ordnung – ich bin nur neugierig, ob es eine Möglichkeit gibt, sie anzuzeigen, egal in welcher Sprache sie geschrieben sind.

Edit2: Die Grundidee ist, dass ich C++/VBA/C# lerne und mir gerne „offizielle“ Funktionen ansehen würde, nur um zu lernen, wie sie funktionieren, und um zu sehen, ob es Möglichkeiten gibt, den Code zu beschleunigen. OpenOffice-Funktionen sind auch gut!

Antwort1

Microsoft Excel ist ein Closed-Source-Produkt,
aber wie Sie bereits sagten, reicht der Quellcode einer Alternative zu Excel ebenfalls aus.

Sie können dieQuellcodevonOpenOffice Calcdas Microsoft Excel sehr ähnelt (siehe Screenshots).

Sie müssen das Produkt nicht installieren. Auf derDownload-Seite, Fokus auf Abschnitt mit der BezeichnungQuelleund schnappen Sie sich das Archiv mitReißverschlussVerlängerung.

Schauen Sie im Archiv in die Datei aoo-4.1.2\main\sc\source\core\tool\interpr4.cxx
und dort finden Sie bei Zeile 3500 eine lange caseAnweisung, die interne Funktionsaufrufe für integrierte Tabellenkalkulationsfunktionen zeigt. Dies ist Ihr Ausgangspunkt.

Anschließend können Sie in den Quelldateien nach der Implementierung dieser Funktionen suchen.

Viel Glück!

Antwort2

Ich möchte Sie stattdessen dringend bitten, dieLogik der Funktionen.Sie wissen, was ein Sumist, das sollte für Sie leicht zu replizieren sein. Die Dinge, die Sie nicht wissen - wie ein vlookupoder stdevhaben eine Art vonLogik- ob rein mathematisch oder operativ (wie transpose). LernenWiediese funktionieren und entwerfen Sie dann Ihren Code rund um die Logik.

verwandte Informationen