Função criada =BETO() não tranforma strings em fórmula

Fiz uma concatenação (utilizando a função =CONCATENAR()) de strings que resultava em =PROCV(AA3;Planilha1.A3:B5120;2;0), e depois utilizei a função criada pelo nosso colega Olivier, para me ajudar: =BETO(), e percebi que ela só está funcionando com números (a exemplo da função =INDIRETO().

Abri um arquivo onde tinha a função gravada e ao abri-lo dá o erro da figura abaixo. Acho que deu alguma incompatibilidade com a versão 4.

No caso das strings a função =BETO() devolve: =procv(AA3;Planilha1.A3:B5120;2;0), com a função em minúsculas. Basta tirar um parêntese e adicioná-lo de novo que a célula reconhece o texto como fórmula…

Aqui temos a função gentilmente criada pelo nosso colega Olivier.

Descrição da imagem

Refiz a situação com um exemplo e só consegui que funcione usando o nome em inglês da função PROCV, que é VLOOKUP.

Isso porque na API do LibreOffice a propriedade Formula ( e portanto o método setFormula() ) só vale para os nomes originais em inglês.

Todo dia uma novidade…

“Todo dia uma novidade…” Exatamente… através da extensão Xray acabo de descobrir que existe a propriedade FormulaLocal que se mostra “tolerante” às fórmulas em pt-br. Exemplo:

oCelula.FormulaLocal = "=SOMA(A1:A10)"