none
Inserir OK em um célula após concluir uma Macro. RRS feed

  • Pergunta

  • Boa tarde, srs!

    Diariamente eu recebo uma tabela com diversas informações relacionadas a determinados fornecedores (chego a receber uma tabela com 130 linhas contendo cerca de 10, 15 ou 20 fornecedores nessa mesma tabela). Isso muda todos os dias.

    Ex. da "Plan1":

    FORNECEDOR VALOR NF
    Fornecedor A R$ 123,45 123456
    Fornecedor A R$ 234,56 234576
    Fornecedor B R$ 945,36 345678
    Fornecedor C R$ 954,26 456789
    Fornecedor C R$ 12,65 567890
    Fornecedor D R$ 1.652,30 625498

    Ao fim do meu trabalho, faço dessa tabela uma base de dados e, através dela, eu filtro o nome do fornecedor e o conteúdo correspondente a ele para que eu envie um e-mail com as informações filtradas usando Outlook.

    Para facilitar a minha visualização e saber quem são os fornecedores que vou enviar e-mail, eu filtrei os nomes dos fornecedores em outra planilha ("Plan2") e vinculei eles a outra planilha contendo os e-mails de contato ("Contatos").

    Ex. da "Plan2":

    FORNECEDOR STATUS
    Fornecedor A OK
    Fornecedor B OK
    Fornecedor C  
    Fornecedor D  

    Ex. da "Contatos":

    FORNECEDOR E-MAIL
    Fornecedor A contato@fornecedorA.com.br
    Fornecedor B contato@fornecedorB.com.br
    Fornecedor C contato@fornecedorC.com.br
    Fornecedor D contato@fornecedorD.com.br

    Até aí tudo OK. Consegui fazer perfeitamente via macro.

    O que preciso é: Após enviar o e-mail via macro, preciso que seja inserido na "Plan2" um "OK" na célula ao lado do Fornecedor referido para que eu não envie o e-mail novamente para ele. E quando enviar para todos, uma macro para limpar todas as informações a fim de receber as novas informações no dia seguinte.

    Agradeço imensamente a quem puder me ajudar com isso.

    quarta-feira, 14 de fevereiro de 2018 19:22

Todas as Respostas

  • range("B" & linha).value = "OK"

    A linha é a mesma que você usou na macro para enviar o email.

    plan2.range ("B:B").clearcontents

    Para limpar a coluna B inteira.


    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com


    quarta-feira, 14 de fevereiro de 2018 19:56
  • plan2.range("B1").value = "STATUS"


    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com

    quarta-feira, 14 de fevereiro de 2018 20:00
  • Então, não sou programador, mas sou muito curioso e dessa forma eu já havia visto, mas não rolou.

    O caminho que faço para chegar até enviar o e-mail é tão grande que até eu fico confuso de tanto vai e volta.

    Como faço pra inserir as macros e/ou o arquivo aqui?

    Eu to tão perdido que está difícil de explicar como está e o que preciso exatamente. As macros e as funções são grandes.

    quinta-feira, 15 de fevereiro de 2018 01:27
  • Então, também não sou programador, mas também sou muito curioso. Creio que, pelo menos, limpar a coluna você consegue, pois é inacreditavelmente fácil e já postei o código acima. Você vai ter que inserir um botão para limpar a coluna, pois é perigoso deixar na limpeza automática, já que pode acabar limpando em um momento que você não deseja. Tendo um botão, é prático e mais seguro. Tente enviar somente a macro final, a que de fato envia o email. Nesta macro deve conter a palavra Send (que é quando o email é enviado). É só dar um ctrl + L que você encontra a palavra Send. Para inserir código neste fórum, depois de clicar em responder, há um ícone do lado direito de html. Escolha a linguagem .Net. Caso você não consiga resposta aqui, tente o fórum "Planilhando". Para inserir código no fórum "Planilhando", aperte o botão "Code".

    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com










    quinta-feira, 15 de fevereiro de 2018 02:18