Página 1 de 1

Range.FormulaLocal com intervalo dinâmico

Enviado: 02 Jan 2024 às 09:30
por Jeczei
Bom dia e Feliz 2024!

Ao usar a FormulaLocal com intervalos dinâmicos vem ocorrendo situação inesperada no resultado com o surgimento de um arroba "@" no conteúdo da célula, conforme exemplo abaixo.

Alguém já passou por esta situação e teria a solução ?

Código VBA
Range("B8").FormulaLocal = "=ÍNDICE($I$4:$I$120;CORRESP(0;CONT.SE(N$3:N3;I$4:$I$120");0))"
Range("B8:B120").FillDown

Resultado na célula B8 após a execução: =ÍNDICE($I$4:$I$120;CORRESP(0;CONT.SE(N$3:N3;@I$4:$I$120);0))

Já tentei com outras fórmulas, por exemplo: "=ÚNICO(I4:I120;0)" e construções, mas o resultado se repete com a inserção do @ no resultado

Obrigado

Re: Range.FormulaLocal com intervalo dinâmico

Enviado: 02 Jan 2024 às 10:00
por osvaldomp
Olá, Jeczei.

Substitua ~~~> FormulaLocal
por ~~~Formula2Local

Re: Range.FormulaLocal com intervalo dinâmico

Enviado: 02 Jan 2024 às 10:47
por Jeczei
Osvaldo, muito obrigado pelo rápido retorno
Funcionou quase 100%, faltou pouco
Não havia comentado que a referência ao intervalo está em outra planilha (exemplo abaixo) , neste caso o resultado não está ok
Se a referencia for na mesma planilha, funciona 100%
exemplo: "=ÍNDICE(extrato!$I$4:extrato!$I$120;CORRESP(0;CONT.SE(N$3:N3;extrato!I$4:extrato!$I$120");0))"

Re: Range.FormulaLocal com intervalo dinâmico

Enviado: 02 Jan 2024 às 11:15
por osvaldomp
"Não havia comentado que a referência ao intervalo está em outra planilha (exemplo abaixo) , neste caso o resultado não está ok"

A referência a intervalo em outra planilha não provoca erro no resultado do comando que passei.

Explique o que você quer dizer com "o resultado não está ok".

Re: Range.FormulaLocal com intervalo dinâmico

Enviado: 02 Jan 2024 às 12:25
por Jeczei
Osvaldo, seguem os arquivos para ilustrar a situação
Obrigado

Re: Range.FormulaLocal com intervalo dinâmico

Enviado: 02 Jan 2024 às 15:33
por osvaldomp
Aqui funcionou exatamente como esperado.

Re: Range.FormulaLocal com intervalo dinâmico

Enviado: 02 Jan 2024 às 16:53
por Jeczei
Vixi! Agora complicou de vez...rs

Re: Range.FormulaLocal com intervalo dinâmico

Enviado: 02 Jan 2024 às 17:16
por Jeczei
Encontrei o erro!
Oswaldo, mais uma vez muito obrigado pelo seu tempo
Abraço

Re: Range.FormulaLocal com intervalo dinâmico

Enviado: 02 Jan 2024 às 18:04
por osvaldomp
Jeczei, você poderia revelar pra nós qual o erro encontrado?

Vai servir para o meu aprendizado e talvez também sirva para outros usuários que venham enfrentar algo parecido.

Re: Range.FormulaLocal com intervalo dinâmico

Enviado: 04 Jan 2024 às 07:57
por Jeczei
Bom dia Osvaldo, desculpe pela demora no retorno, pois só ontem bem tarde vi a sua solicitação

O erro foi falta de atenção na construção da linha de comando abaixo (corrigida), pois o 2o intervalo dinâmico estava preenchido sem o travamento da 1a célula (extrato!I$4) e também a célula (linha/coluna) posicional (N3:$N3) errada.

= Range("Q8").Formula2Local = "=SEERRO(ÍNDICE(extrato!$I$4:extrato!$I$" & LR & ;CORRESP(0;CONT.SE(Q$7:Q7;extrato!$I$4:extrato!$I$" & LR & ");0));"""")"

Obrigado mais uma vez pela sua atenção.

Abraço