Bom dia pessoal,
Eu tenho uma planilha (em anexo) que faz alguns cálculos simples e atualiza um gráfico toda vez que aperto um botão.
O problema é que agora vou ter de zerar a planilha para o ano que vem mas quando faço isso aparece uma mensagem de erro. Mas se eu colocar novos dados o erro para.
Por isso eu gostaria de saber se tem como desativar esse erro enquanto o Range D3:I4 não estiver completamente preenchido.
Desde já agradeço a ajuda.
carloshvb,
Bom dia!
Não entendi... baixei a planilha mas não vi erro algum ocorrer. Quando é que esse erro ocorre? No exemplo enviado já não há dados na faixa D3:I4...
Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)
Atenciosamente
Wagner Morel
Wagner,
Eu já postei a planilha limpa onde o erro está ocorrendo, se você tentar alterar qualquer dado o excel dá o erro, por isso preciso desativar essa mensagem enquanto o range D3:I4 não contiver dados, depois que essas duas linha forem preenchidas o erro para.
carloshvb,
Desculpa a minha ignorância mas... continuo sem entender! Onde tenho que fazer alterações para que o erro ocorra. Sai digitando dados em alguns lugares (algumas células: B8, A7, D3, F3, F21, I24) e nada aconteceu...
Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)
Atenciosamente
Wagner Morel
Encontrei na mesma situação do Wagner, não apareceu nenhum erro, acho que acontece no arquivo original, e o que foi deletado são celulas com formulas ou dados que estão sendo utilizados por outras celulas ou o grafico, tambem vi que tem algumas formulas que se referem a um vinculo com outro arquivo "=Controle de troca de facas_teste[OEE.xlsm]Dados OEE SMBE 1'!A28" na aba Dados que está oculta.
Verifique se não é devido a isto, se não coloque o arquivo original.
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Aqui quando abri o modelo o erro foi reproduzido, mesmo sem habilitar as macros.
O problema parece estar nos dados que alimentam seu gráfico.
A série "Meta" do gráfico se baseia no intervalo que está nomeado como "Meta" e a série "Produzido" pelo intervalo nomeado "Prod_Troca". Também há um intervalo nomeado como "Total_Troca" que alimenta o eixo das categorias no gráfico. O problema é que quando sua planilha está vazia, as fórmulas contidas tanto em "Meta" como em "Prod_Troca" e "Total_Troca" retornam erro #REF, pois elas usam a função DESLOC usando um argumento inválido.
Abra o Gerenciador de Nomes na guia Fórmulas e analise as fórmulas para esses nomes:
Meta
=DESLOC(Controle!$J$2;1;0;CONT.SE(Controle!$D$3:$D$100;">0");1)
Prod_Troca
=DESLOC(Controle!$I$2;1;0;CONT.SE(Controle!$I$3:$I$100;">0");1)
Total_Troca
=DESLOC(Controle!$D$2;1;0;CONT.SE(Controle!$D$3:$D$100;">0");1)
o problema é que no quarto argumento vc está usando a fórmula CONT.SE(Controle!$D$3:$D$100;">0") etc. que, quando sua planilha está vazia, retorna zero. Esse argumento refere-se à altura do intervalo, em número de linhas, e não pode ser zero.
Sugiro reescrever a fórmula para esses nomes, inserindo um teste primeiro para o CONT.SE. Copie e cole na caixa "Refere-se a" no Gerenciador de Nomes:
Meta
=SE(CONT.SE(Controle!$D$3:$D$100;">0")>0;DESLOC(Controle!$J$2;1;0;CONT.SE(Controle!$D$3:$D$100;">0");1);0)
Prod_Troca
=SE(CONT.SE(Controle!$I$3:$I$100;">0");DESLOC(Controle!$I$2;1;0;CONT.SE(Controle!$I$3:$I$100;">0");1);0)
Total_Troca
=SE(CONT.SE(Controle!$D$3:$D$100;">0")>0;DESLOC(Controle!$D$2;1;0;CONT.SE(Controle!$D$3:$D$100;">0");1);0)
Note que nesse caso o gráfico parte com a "Meta" zerada no início e não sei se isso é permitido pela política de sua empresa.
Edson, obrigado pela resposta,
Eu cheguei a mesma conclusão que você, porém resolvi de forma um pouco diferente:
Mudei o Nome das 3 séries incluindo a função SEERRO com resposta igual a 1 para o erro.
Desta forma, quando apago os dados o valor inicial é fixado em 1 até que novos dados sejam inseridos.
A formula ficou assim:
=SEERRO(DESLOC(Controle!$J$2;1;0;CONT.SE(Controle!$D$3:$D$100;">0");1);1)
Repliquei o mesmo conceito para os outros nomes.
De qualquer forma, muito obrigado
Entendi, o intervalo fica com altura de 1 célula. Boa solução também.
Precisando, disponha.