Notifications
Clear all

Erro em tempo exec. 13: tipos incompatíveis

3 Posts
2 Usuários
0 Reactions
920 Visualizações
(@rafaelsc)
Posts: 15
Active Member
Topic starter
 

O erro referido é gerado após acionar o botão de comando finalizar situado na aba LISTAS.

Esse comando é denominado "Finalizar" pois destina-se a ser utilizado no final de expediente. Busca, dentro do banco de dados contido na aba AVALIAÇÕES, os nºs de contato digitados em determinada coluna, concatenando-os um ao outro e separados por ponto e vírgula e um espaço. Busca, ainda, considerar apenas o resultado marcado na coluna SITUAÇÃO como "CONCLUÍDA" e que seja da data atual. O resultado disso é expresso em uma célula oculta "H2" dessa mesma aba. O comando visa copiar esses dados para que sejam utilizados pelo usuário, interagindo com o mesmo e controlando elementos como proteções, tamanho da janela, salvamento e qualquer ideia que prepare para a utilização no dia seguinte. Com isso, o usuário pode, por exemplo, obter no final do dia facilmente os contatos que necessitam ser avisados que tiveram sua avaliação concluída para serem avisados por SMS ou telefone.

Então, observei que esse erro acontece apenas quando não há demanda concluída na data, condição em que a célula oculta referida deverá expressar como resultado vazia (ou zero?). Você pode simular essa condição se inserir nas linhas o código e deixar a situação como PENDENTE. Nesse caso, ao acionar o botão FINALIZAR, o erro referido realça a primeira linha da condicional abaixo:

If Sheets("AVALIAÇÕES").Range("h2").Value <> "" Then 'quando a célula ocultada for diferente de vazia, ocorrerá apenas quando alterações são efetuadas na data atual
Application.WindowState = xlMaximized
MsgBox "Dados de CONTATO dos clientes foram copiados para a área de transferência. Utilize-os e, após, clique em OK para encerrar."
End If

Alguém experiente pode solucionar o problema? Para facilitar, desocultei a coluna H e anexo o arquivo.

---
Rafael Carvalho
Santos, SP

 
Postado : 04/10/2013 10:08 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Experimente alterar conforme abaixo:

If Not IsError(Sheets("AVALIAÇÕES").Range("h2").Value) Then 'Verifica se o valor na celula não é Erro "#Valor"
If Sheets("AVALIAÇÕES").Range("h2").Value <> "" Then 'quando a célula ocultada for diferente de vazia, ocorrerá apenas quando alterações são efetuadas na data atual
Application.WindowState = xlMaximized
MsgBox "Dados de CONTATO dos clientes foram copiados para a área de transferência. Utilize-os e, após, clique em OK para encerrar."
End If
Else
MsgBox "Não há demanda concluída na data"
End If

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/10/2013 11:24 am
(@rafaelsc)
Posts: 15
Active Member
Topic starter
 

Boa, Reinaldo!
Um abraço

---
Rafael Carvalho
Santos, SP

 
Postado : 04/10/2013 3:22 pm