
Fiquei me perguntando se há algum lugar no Excel, ou online, que eu possa usar para ver como as funções do Excel estão funcionando.
A ideia é que estou começando a aprender como fazer UDFs e fazer várias coisas em VBA, e pensei que se eu pudesse ver como o Excel realmente executa, Sum()
por exemplo, poderia aprender como deixar meu código mais compacto, ocupar menos espaço, etc.
Basicamente, onde está o repositório de como funcionam as funções integradas do Excel? Isso está disponível?
Editar: entendo que as fórmulas podem ser escritas em não-VBA. Tudo bem - só estou curioso para saber se existe uma maneira de vê-los, seja qual for o idioma em que estejam escritos.
Edit2: A idéia geral é que estou aprendendo C++/VBA/C# e gostaria de ver funções "oficiais" apenas para aprender como elas funcionam e ver se há alguma maneira de acelerar o código. As funções do OpenOffice também são boas!
Responder1
O Microsoft Excel é um produto de código fechado,
mas como você indicou, o código-fonte alternativo ao Excel também será suficiente.
Você pode examinar oCódigo fontedeOpenOffice Calcque se assemelha muito ao Microsoft Excel (veja as capturas de tela).
Você não precisa instalar o produto. Nopágina de download, concentre-se na seção rotuladaFontee pegue o arquivo comfecho eclairextensão.
Dentro do arquivo, procure no arquivo aoo-4.1.2\main\sc\source\core\tool\interpr4.cxx
e, por volta da linha 3500, você encontrará uma longa case
instrução mostrando chamadas de funções internas para funções de planilha integradas. Este é o seu ponto de partida.
Então você pode pesquisar os arquivos de origem para implementação dessas funções.
Boa sorte!
Responder2
Em vez disso, eu pediria que você entendesse ológica das funções.Você sabe o que Sum
é, isso deve ser fácil de replicar. As coisas que você não conhece - como vlookup
ou stdev
tem algum tipo delógica- seja puramente matemático ou operacional (como transpose
). Aprendercomoeles funcionam e, em seguida, projete seu código em torno da lógica.