Estou utilizando o Excel do pacote Office 2021.
A planilha tem indices com cabeçalho contendo os anos e a primeira coluna contendo os meses por extenso, e somente este codigo VBA.
Segue a funcao do codigo VBA:
---------------------------------------
Function CalcTab() As Double
Dim fatorCorrecao As Double
'tmp = TabelaFatores.Cells(nlinha, ncoluna).Value
fatorCorrecao = 100
'a linha abaixo está causando erro na planilha e corrompendo ela:
'Worksheets("Planilha1").Range("E5").Value = 3.14159
CalcTab = fatorCorrecao
End Function
------------
Claramente o codigo ainda está incompleto.
Retirando a linha Worksheets, a funcao toda funciona 100%, mas preciso escrever mais alguns valores direto em algumas celulas da planilha, baseado em resultados calculados dentro desta funcao, mas simplesmente nada é escrito na celula que está vazia e nao protegida. Algo realmente está interferindo.
O fato de corromper a planilha, é que após executar a planilha, aparentemente nenhuma celula
é modificada, mesmo apagando esta linha no VBA e retornando como era antes, a planilha nao calcula mais, mas ainda fica operacional manualmente.
Não adianta modificar a saida para outra celula, mesmo bem distante do conteudo principal da planilha e bem isolada, o resultado é o mesmo.
Se eu substituir a linha citada acima, por:
Cells(5, 5).Value = fatorCorrecao
acontece o mesmo problema.
Segue o link da planilha:
https://drive.google.com/file/d/1F7LrtdvZpBfKwr2jko2EMvLqKdliilL7/view?usp=sharing
excel-vba