Notifications
Clear all

Enviar e-mail atendendo critérios

37 Posts
3 Usuários
0 Reactions
4,781 Visualizações
(@tiagogn)
Posts: 0
New Member
Topic starter
 

Pessoal,

Boa noite.

Poderiam me ajudar por favor?

Tenho uma planilha de controle de alguns documentos em que conto o tempo de retorno entre setores.

Na coluna U eu conto o tempo em horas e gostaria de que toda vez que o tempo fosse superior a 12:00 ( [hh]:mm ) ele enviasse um e-mail para alguns endereços (Posso ter mais de 10 emails).

Porém temos alguns critérios:

1) Isso só vai acontecer se na Coluna X o Status for "SIF" (Texto que é colocado nesta coluna). Os demais Status não precisam desse envio de e-mail.
2) Preciso colocar um assunto no e-mail (Assunto padrão)
3) Preciso colocar uma mensagem para ir no corpo do e-mail (Mensagem padrão)
4) Posso estabelecer 2 ou 3 horários para que essa rotina seja executada? Ex.: Isso iria ser feito as 12:00 e as 18:00 por exemplo.
5) Ele pode enviar direto o e-mail sem precisar ir para o outlook por exemplo.

Obs.: Neste mesmo código seria possível incluir algo que atualize os dados de 10 em 10 minutos por exemplo? Porque nesta contagem de tempo o usuário precisa fazer alguma alteração ou clicar no F9 para atualizar de acordo com a data e hora atual ( =AGORA() )

Conto com a ajuda de todos.

Muito obrigado.

Tiago Gonçalves

 
Postado : 29/07/2016 5:30 pm
(@engeel2014)
Posts: 207
Reputable Member
 

Boa noite Tiago,

Enquanto verifica aqui, faça um pequeno teste. Após inserir os horários, oculte novamente a aba "E-mail". Aqui no meu Excel, 2010, mesmo se eu deixar a aba "E-mail" visível a macro executa sem erros, talvez aí apresente erro por ser outra versão do Excel. Verifica aí se pode ser isso.

 
Postado : 02/08/2016 7:49 pm
(@tiagogn)
Posts: 0
New Member
Topic starter
 

Lucélio,

Bom dia.

Peguei a última versão enviada por você e apenas alterei os horários e e-mails a serem enviados e até este momento foram enviados os 3 primeiros horários, porém aconteceu algo curioso... Ele enviou as 10:10, as 10:15 e as 10:20 6 e-mails com as mesmas informações. Coincidência ou não temos na planilha de teste 6 linhas com dados.

Outro ponto que observei é que o "tempo 3" está sendo enviado diferente do que tem na planilha.

Segue abaixo:

Tempo do E-mail:

Tempo 3
06:10:07
01:10:07
03:10:07
07:00:00

Tempo da Planilha:

222:20
25:20
123:20
07:00

Obs.: Este último, de 07:00, pelos critérios que adotamos ele não deveria ser enviado. Ele está com o status de SIF, que deve ser enviado, porém não está acima de 12 hs.

Outro ponto: Eu não alterei assunto, nem o "att" no código, nem a mensagem do corpo do e-mail. Será que ao alterar pode ter ocasionado algo? Porque foram as únicas coisas que eu fiz de diferente.

Fico no seu aguardo e agradeço desde já.

Abs.

Tiago

 
Postado : 03/08/2016 7:29 am
(@engeel2014)
Posts: 207
Reputable Member
 

Tiago, com relação ao tempo estar acima de 12 horas em não havia inserido esta condição. a macro só verificava os que estavam com a indicação SIF e nos horários definidos enviava os e-mails. Vou dar uma olhada aqui e lhe retorno.

 
Postado : 03/08/2016 3:37 pm
(@engeel2014)
Posts: 207
Reputable Member
 

Tiago, estava verificando aqui na planilha. na sua planilha a formatação da soma do tempo 3 está em horas e minutos. Quando este valor era copiado e colado na planilha "E-mail" perdia a formatação. Acertei aqui para continuar com a formatação da planilha principal. Por este motivo coloquei a condição de quando na coluna "x" for "SIF" e quando na coluna "U" for na cor vermelho irá mandar o e-mail. Quanto aos horários que aparecem no Outlook é o seguinte: caos o e-mail seja enviado no Excel as 12:12:10 ele indica no Outlook que o e-mail foi enviado 12:12 caso o e-mail for enviado no Excel as 12:12:31 ele indica que foi enviado no Outlook as 12:13. Ou seja o Outlook arredonda os horários de envio dos e-mails. o Outlook não mostra os segundos do horário de envio. Verifica ai.

 
Postado : 03/08/2016 5:04 pm
(@tiagogn)
Posts: 0
New Member
Topic starter
 

Grande Lucélio,

Boa noite.

Muito obrigado pelo retorno e prestatividade!

Passei a tarde fazendo testes na última versão que você enviou... Ela disparou uns 12 horários normalmente o de e-mail e com algumas situações distintas... Ela apresentou 2 erros... 1 foi aquele que já mencionei aqui porém as outras vezes não apresentou o mesmo erro. Ainda estou tentando identificar algo em comum que possa responder o motivo do erro.

O outro erro foi na atualização automática da planilha que acabei não pegando o erro porém foi uma única vez dentre as tantas atualizações que ela fez.

Obs.: Nos códigos você colocou em 2 lugares distintos a atualização automática. Tem problema? Está na "EstaPasta_de_Trabalho" e na "Módulo 2". E estão com tempos diferentes.

Mas o mais curioso que aconteceu hoje foi o seguinte: Eu fechei a planilha e ela abriu sozinha algumas vezes consecutivas. Eu fechava e ela abria novamente insistentemente. O que será?

Fico no seu aguardo e agradeço desde já.

Abs.

Tiago

 
Postado : 04/08/2016 7:18 pm
(@engeel2014)
Posts: 207
Reputable Member
 

Tiago, com relação em ter o código atualização em dois lugares é pelo seguinte: Em "EstaPasta_de_Trabalho" é quando a planilha abre ele inicia o código de atualização, e depois no "Módulo 2" ele atualiza a planilha a cada 1 minuto e com o comando: "Calculate" e na outra linha ele executa novamente a mesma macro contando novamente o tempo até executar novamente o comando "Calculate" que faz a atualização na planilha, fazendo isso em loop sem parar. Com relação a planilha está abrindo sozinha é novidade pra mim. Vou dar uma olhada aqui. Na verdade não sou muito bom em VBA não, conheço o básico, as vezes adapto pedaços de outros códigos para tentar ajudar o pessoal do fórum, e com isso vou aprendendo mais, mas neste caso nunca ouvi falar que a planilha abre sozinha. vou dar uma estudada no código aqui e lhe falo.

 
Postado : 04/08/2016 7:47 pm
(@engeel2014)
Posts: 207
Reputable Member
 

Tiago, testei aqui, mas não aconteceu o erro que você mencionou, nem abriu novamente. Verifica ai se não é algum erro no seu Oficie ou no computador. Estou anexando a ultima planilha que mexi. testa ai.

 
Postado : 04/08/2016 7:59 pm
(@tiagogn)
Posts: 0
New Member
Topic starter
 

Olá Lucélio,

Boa noite.

Primeiramente obrigado.

Só fui ver agora que tinha enviado uma nova versão. Desculpa. Vou fazer alguns testes na última versão enviada e vou ver como ela vai responder.

Hoje fiz teste na antiga e em um dos horários ele apresentou o erro no envio, conforme já mencionei, porém não consegui identificar o motivo novamente.

Pô... se você sabe o básico digo que é surpreendente... No mínimo pensei pensei que fosse o intermediário... rs...

Se eu quiser utilizar esse mesmo código para outra planilha basta eu colocar lá? E mudar o status para o correspondente da planilha? Tem algum segredo?

Obs.: Se possível me passa orientações de estudo do VBA pra quem quer entender do assunto e começar a se ariscar e virar básico que nem você! rsss

Fico no seu aguardo e agradeço desde já.

Abs.

Tiago

 
Postado : 05/08/2016 8:43 pm
(@engeel2014)
Posts: 207
Reputable Member
 

Sim, vocce tem que copiar todos os códigos e colar na nova planilha, e alterar os parâmetros na macro. Para você iniciar aprendizado sozinho, procure alguma video aula sobre o assunto e participe sempre do fórum, baixe as macros postadas e veja o funcionamento. Outra maneira boa de aprender os comandos é utilizar o gravador de macros do Excel. Você clica em gravar, escolhe o nome da macro, depois faz algumas alterações na planilha( tipo, escreva um valor em uma célula, depois delete este valor e depois insira uma cor na célula e depois para a gravação da macro. depois entre no editor de macro e veja os códigos que foram gerados relativos as ações que você fez, assim fica mais fácil vc entender o que cada comando faz.) Faça um teste aí e me diz o que acha. Caso precise de ajudar pode me contactar no meu e-mail particular, que na medida do possível vou te ajudando no que souber.
Endereço: [email protected]

 
Postado : 06/08/2016 1:06 pm
(@tiagogn)
Posts: 0
New Member
Topic starter
 

Lucélio,

Boa tarde.

Hoje novamente aquele erro tem acontecido ("Erro em tempo de execução '9': Subscrito fora do intervalo"). Tenho feito testes para conseguir identificar o que tem em comum para dar os erros.

Agora surgiu outro erro.

ActiveSheet.Range("$A$6:$Y$5000").AutoFilter Field:=14, Criteria1:=RGB(247, 49, 54), Operator:=xlFilterCellColor

Abraços

Tiago

 
Postado : 08/08/2016 9:33 am
(@engeel2014)
Posts: 207
Reputable Member
 

Tiago, acho que deve ser por que não foi encontrado células preenchidas de vermelho. Este filtro só filtra as linhas marcadas em vermelho, porém não testei o filtro sem haver linhas em vermelho, possivelmente isso está causando o erro. Vou revisar o código aqui e lhe falo .

 
Postado : 08/08/2016 9:48 am
(@tiagogn)
Posts: 0
New Member
Topic starter
 

Lucélio,

Acredito que não seja isso por que na planilha tem umas 9 linhas preenchidas de vermelho + o código SIF.

Tiago

 
Postado : 08/08/2016 9:52 am
(@engeel2014)
Posts: 207
Reputable Member
 

Tiago, pasta a planilha que você tá usando ai, que está acontecendo o erro.

 
Postado : 08/08/2016 11:59 am
(@engeel2014)
Posts: 207
Reputable Member
 

Caro Tiago, revisei aqui a macro e não consegui encontrar nada errado. Aproveitei e inseri comentários em todo código para facilitar seu entendimento. Abra os códigos e tudo que estiver escrito na cor verde são comentários. Fiz isso na frente de todas as instruções, assim você poderá acompanhar o que foi feito do inicio, passando pela filtragem, copia, geração e envio do e-mail. Caso tenha dúvidas é só perguntar. Aproveitei e inseri um botão que envia o e-mail diretamente, caso queira clicar e ver se ocorre erro neste processo.

Aquele erro que você mencionou anteriormente se refere a filtragem dos dados, que está dentro da rotina de enviar os e-mails. Testei ela aqui várias vezes com valores diferentes e não apresentou erros. Verifica ai com esta planilha se o erro ocorre.

Lembre-se você não deve inserir, ou excluir linhas e colunas sem acertar o código, senão apresentará erro.

Att.: Lucélio

 
Postado : 08/08/2016 4:16 pm
(@tiagogn)
Posts: 0
New Member
Topic starter
 

Olá Lucélio,

Obrigado mais uma vez. Ficou ótimo com os comentários pois vou conseguir entender o código.

O erro referente a filtragem dos dados não ocorreu mais. Somente aquela única vez.

O que insiste em acontecer é o primeiro erro: "Erro em tempo de execução '9': Subscrito fora do intervalo" ... Porém eu consegui hoje identificar algo em comum em 95% a 99% das vezes que o erro foi apresentado. Normalmente esse erro é apresentado quando estou com a planilha minimizada ou em segundo plano. Quando estou com a planilha na tela, usando ou apenas olhando pra ela (rs), o código funciona normalmente. Não sei se tem a ver mas foi a única coisa que realmente ficou bem evidente. Pode ser isso? É necessário estar com ela na tela no momento da execução do código?

Mais um ponto... Lembra quando te falei que a planilha estava abrindo sozinha? Isso realmente continua acontecendo... Hoje inclusive deletei a planilha da área de trabalho e ela continuou tentando abrir. Olha a imagem que enviei no anexo. O Excel estava buscando ele na área de trabalho... Eu já tinha fechado e ele abriu umas 5 ou 6 vezes.... Aí eu exclui pra ver e aconteceu isso...

Grande abraço e mais uma vez obrigado... No seu aguardo...

Tiago

 
Postado : 09/08/2016 8:10 pm
Página 2 / 3