Pergunte aqui
0

Como identificar erro

perguntadas 2019-07-17 19:06:08 +0200

imagem do gravatar de Amaral

updated 2019-07-29 18:19:08 +0200

Tenho uma planilha que está vinculada a outra (dados externos). Essa formula identifica como erro #REF!, o que já era esperado. Como faço para reconhecer, com uma macro (comando IF) para reconhecer que naquela célula há um erro de fórmula? A célula é: A fórmula é: ='file:///C:/Users/amaral.santos/Desktop/Pedidos/2019/Maio/125.xls'#$'Anexo 2'.V5 A resposta é: #REF!

Quero aplicar esse comando. If ThisComponent.Sheets.getByName("Movimento").getCellByPosition(8,2).String = "#REF!" Then Anexo = "'#$'Anexo 1'" End If No Excel tem o comando IsError.

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

2 Respostas

0

respondidas 2019-07-18 18:15:43 +0200

imagem do gravatar de Grafeno

Boa tarde,


Teste a propriedade Error da célula. Ela retorna o número do erro; caso não exista, retorna 0:

Sub Main
   oDoc = ThisComponent
   oPlan = oDoc.Sheets.getByName("Movimento")
   oCel = oPlan.getCellByPosition( 8,2 )

   If oCel.Error <> 0 Then 'Qualquer erro'
     '...    Faça algum coisa'
   End If   
End Sub


Se preferir testar para o erro #REF! use o número 524 e substitua a linha:

  If oCel.Error = 524 Then 'Erro #REF!'

Atte,

editar assinalar como ofensivo Excluir Link mais

Comentários

@Grafeno, Obrigado. O meu problema de não reconhecer o erro era por que eu tinha colocado o comando ThisComponent.EnableAutomaticCalculation(False) código ... ThisComponent.EnableAutomaticCalculation(True) E o reconhecimento do erro, por ser em uma fórmula, estava nesse intervalo. Já corrigi e deu tudo certo. Por acaso, saberia me informar como trabalhar com dois arquivos abertos para trocar informações. https://ask.libreoffice.org/pt-br/ans... O exemplo acima e quase o que eu preciso, porém preciso tenho que retornar para o arquivoA e depois para o ArquivoB mais de uma vez. O processo utilizado pelo @Olivier fecha o arquivo assim que utilizado. Grato.

imagem do gravatar de AmaralAmaral ( 2019-07-18 19:16:08 +0200 )editar

@Amaral, se o problema é que a rotina do Olivier fecha o arquivo, eu posso sugerir, sem olhar seu projeto, que vc mova as duas linhas oDocB.Store e oDocB.close(true) para um rotina separada e declare a variável oDocB como uma variável global. Com isso arquivo fica aberto enquanto vc retorna mais de uma vez. Concluída as operações, vc fecha o arquivo pela rotina separada.

imagem do gravatar de GrafenoGrafeno ( 2019-07-18 20:02:08 +0200 )editar

Eu fiz isso. A pergunta como trocar de oDocB para oDocA, visto que o comando oDocB = StarDesktop.loadComponentFromURL (...) já foi ativado.

imagem do gravatar de AmaralAmaral ( 2019-07-18 20:07:42 +0200 )editar
0

respondidas 2019-07-17 21:31:40 +0200

updated 2019-07-17 21:33:55 +0200

Ola @Amaral, creio que é mais fácil colocar na própria formula:

=ÉERRO('file:///C:/Users/amaral.santos/Desktop/Pedidos/2019/Maio/125.xls'#$'Anexo 2'.V5;"")

Da maneira acima se erro = branco ""

Ou colocar outra fórmula para executar.

Os códigos de erros aqui

-----------------------------------------------------------------------------

ATENÇÂO:: Caso queira dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Grato.

Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha Descrição da imagem a esquerda da resposta, para finalizar a pergunta.

editar assinalar como ofensivo Excluir Link mais

Comentários

Boa Tarde @Gilberto, eu quero utilizar um comando if (macro) pois são varias planilhas. É o mesmo projeto que já me ajudastes. Utilizar fórmulas não é uma boa ideia pois teria que apagar a cada pesquisa.

imagem do gravatar de AmaralAmaral ( 2019-07-17 22:28:04 +0200 )editar

Mas já esta usando uma formula !!!!, vai continuar uma só, porém mais completa.

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2019-07-17 23:17:37 +0200 )editar

Eu preciso apagar e reavaliar as informações com dados distinto, por esse motivo opto sempre por realizar macros. Se puderes me indicar um curso em algum na internet eu agradeço.

imagem do gravatar de AmaralAmaral ( 2019-07-18 05:40:30 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2019-07-17 19:06:08 +0200

Lidas: 27 vezes

Última atualização: Jul 18