none
Macro que envia e-mail de acordo com o % de estoque RRS feed

  • Pergunta

  • Olá amigos, boa tarde!

    Tenho um relatório no Excel de controle de estoque, onde de acordo com as vendas e a reposição do estoque, o volume oscila bastante durante o dia e essas atualizações acontecem de hora em hora, porém tenho alguns controles que são críticos e necessitam de acompanhamento constante, preciso que nesse relatório ao ser atualizado envie os produtos que estão com um percentual de disponibilidade muito baixo(Vermelho), e esses controles estão em várias abas da planilha, será que existe a possibilidade de no corpo do e-mail disponibilizar as informações de todas as abas.

    Muito obrigado


    sexta-feira, 3 de junho de 2016 16:08

Respostas

  • Olá Cris,

    Tem sim como .. segue código para enviar email com informações da planilha no corpo da msg!

    Abraços

    Sub envia()
        Dim OutApp As Object
        Dim OutMail As Object
        Dim texto As String
    
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)
    
        linha = ActiveCell.Row - 1
    
            texto = "Olá," & vbCrLf & vbCrLf & _
                    "Favor verificar o produto abaixo, poís sua validade está para expirar:" _
                    & vbCrLf & vbCrLf & _
                    "    Produto: " & Plan1.Cells(linha, 3) & vbCrLf & _
                    "    Descrição: " & Plan1.Cells(linha, 3) & vbCrLf & _
                    "    Data de entrada: " & Plan1.Cells(linha, 2) & vbCrLf & _
                    "    Data de validade: " & Plan1.Cells(linha, 2) & vbCrLf & _
                    "    Orgão regulador: " & Plan1.Cells(linha, 3) & vbCrLf & _
                    "    Quantidade do produto: " & Plan1.Cells(linha, 5) & vbCrLf & vbCrLf & _
                    "Atenciosamente," & vbCrLf & _
                    " - Sistema Automático de Validade de Produtos"
    
            With OutMail
                .To = "tiago. " 'Pessoa ou grupo
                '.CC = ".com"
                .BCC = ""
                .Subject = "Produto com validade expirando"
                .Body = texto
                .Display   'Utilize Send para enviar o email sem abrir o Outlook
                '.Send
            End With
            On Error GoTo 0
    
            Set OutMail = Nothing
            Set OutApp = Nothing
    
    End Sub
    

    Abraços

    sexta-feira, 3 de junho de 2016 18:11

Todas as Respostas

  • Olá Cris,

    Tem sim como .. segue código para enviar email com informações da planilha no corpo da msg!

    Abraços

    Sub envia()
        Dim OutApp As Object
        Dim OutMail As Object
        Dim texto As String
    
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)
    
        linha = ActiveCell.Row - 1
    
            texto = "Olá," & vbCrLf & vbCrLf & _
                    "Favor verificar o produto abaixo, poís sua validade está para expirar:" _
                    & vbCrLf & vbCrLf & _
                    "    Produto: " & Plan1.Cells(linha, 3) & vbCrLf & _
                    "    Descrição: " & Plan1.Cells(linha, 3) & vbCrLf & _
                    "    Data de entrada: " & Plan1.Cells(linha, 2) & vbCrLf & _
                    "    Data de validade: " & Plan1.Cells(linha, 2) & vbCrLf & _
                    "    Orgão regulador: " & Plan1.Cells(linha, 3) & vbCrLf & _
                    "    Quantidade do produto: " & Plan1.Cells(linha, 5) & vbCrLf & vbCrLf & _
                    "Atenciosamente," & vbCrLf & _
                    " - Sistema Automático de Validade de Produtos"
    
            With OutMail
                .To = "tiago. " 'Pessoa ou grupo
                '.CC = ".com"
                .BCC = ""
                .Subject = "Produto com validade expirando"
                .Body = texto
                .Display   'Utilize Send para enviar o email sem abrir o Outlook
                '.Send
            End With
            On Error GoTo 0
    
            Set OutMail = Nothing
            Set OutApp = Nothing
    
    End Sub
    

    Abraços

    sexta-feira, 3 de junho de 2016 18:11
  • E aí Thiago, blz cara?

    Muito obrigado pela resposta, só gostaria de levantar alguns pontos, a tabela abaixo é um exemplo simplificado da que vou utilizar no meu processo, você pode notar que que a empresa possui várias lojas e é gerado uma porcentagem de estoque disponível e a minha questão é, gostaria de receber um e-mail após atualizar a tabela, caso os valores de estoque fiquem abaixo de 15%(bolinha vermelha) nas diversas lojas e nos diversos produtos.

    e no caso, gostaria de inserir um botão como comando pra enviar o e-mail e não quando atualiza, porque fazemos alguns filtros dentro do campo e em cada atualização receberíamos um novo e desnecessário e-mail.

    Espero ter sido claro na minha explicação, muito obrigado pela força cara.


    terça-feira, 7 de junho de 2016 19:53
  • Cris,

    Na vdd não entendi direito o que vc precisa!

    1 - Enviar um e-mail sempre que atualizar o estoque de um produto e este for menor do que 15%;

    2 - Criar um botão para enviar o email dos produtos que estão com o estoque abaixo;

    Qual das respostas é a que melhor lhe atende?

    Se for o primeiro caso vc terá que incluir uma macro com o evento Change na PLANILHA e se for o botão que irá disparar uma verificação nas porcentagens, basta criar o botão com os ACTIVEX e direcionar a validação dos campos de porcentagens!

    Aguardo sua resposta

    Abraços Tiago

    quarta-feira, 15 de junho de 2016 18:26