Estou tentando calcular cargas em uma ponte levadiça durante sua rotação da posição fechada para a aberta usando o Excel 2013. Isso é feito em várias planilhas, onde, por exemplo, uma planilha calcula o movimento do Centro de Gravidade e outra a carga de vento. Tudo isso é feito em tabelas com a seguinte aparência:
[Time] [Angle] [Wind velocity] [Wind load]
0 0 5 0
1 0.5 5 3
2 1.0 5.1 6.3
3 1.5 5.2 9.6
Exceto pelo tempo, todos os valores são calculados com fórmulas. Meu objetivo é ser capaz de dar ao leitor a percepção do documento sobre quais são essas fórmulas para que possam ser verificadas. Eu faço isso usando a função Getformula. Isso é fácil de usar em uma única tabela: nomeie todas as colunas e use Getforumula na célula que deseja exibir.
Nesse caso, no entanto, as tabelas estão em uma planilha diferente e em linhas diferentes, portanto, as referências das colunas nomeadas não funcionam mais (diretamente). Para resolver isso, eu uso a função INDEX, por exemplo, para o primeiro valor da carga de vento:
=INDEX(Angle;1)*INDEX(Surface_Area;1)*INDEX(Wind_Velocity;1)
(não se importe com a fórmula, apenas inventei esse exemplo, pois o real é bem complicado)
No exemplo acima, a 'Surface_Area' é calculada em outra planilha.
Se eu quiser calcular as linhas subsequentes da tabela, costumo selecionar a célula superior da tabela e usar a opção Preenchimento automático para "puxar" a célula para baixo e preencher a parte restante da tabela. No entanto, o argumento na função INDEX não permite isso, permanece 1. Como isso pode ser alcançado de tal forma que o código ainda é fácil de entender usando Getformula?
Nota: Usando o VBA, vou tentar remover a parte 'INDEX' do resultado do Getformula, então o resultado é melhor de entender.