Enviar e-mail para vários usuários da tabela do Excel


0

Eu tenho que enviar vários emails para alguns usuários de uma tabela do Excel. Minha tabela contém vários usuários e para cada um deles tenho alguma linha com algumas ações.

        action              user
        ===============     =====
row1    lore ipsum 1        user1
        lore ipsum 2        
        lore ipsum 4        
        lore ipsum 5        
row2    lore ipsum 3        user2
        lore ipsum 1        
row3    lore ipsum 2        user3

É uma tabela dinâmica e tudo o que preciso fazer é enviar a cada usuário um email desse tipo:

Olá "" usuário "", você tem essas ações neste mês:

"" lore ipsum1 "" "" lore ipsum2 "" "" lore ipsum3 ""

Sei que poderia usar o Word para fazer isso, mas não consigo adicionar várias ações para os usuários que possuem mais de uma linha. Como posso fazer isso? obrigado



Dê uma olhada neste site para ver o que você pode ser capaz de chegar a
Raystafarian

Não é possível que sua tabela dinâmica imprima uma linha para cada usuário, com 'lore ipsum x' o valor de cada coluna subseqüente nessa linha? (depende de quantos tipos diferentes de lore ipsums existem, eu acho). Caso contrário, uma macro que faz um loop até encontrar o próximo usuário fará isso.
Mcalex

Qual é o seu cliente de email? perspectiva? Qual versão do excel?
Raystafarian

Respostas:


0

Use o VBA no Excel para enviar e-mails (se você tiver o Outlook instalado)

Este exemplo está assumindo uma tabela simples do Excel neste formato.
insira a descrição da imagem aqui

Sub SendMailsFromList()
    Dim objOutlook As Object
    Dim objMail As Object
    Dim i As Integer

    Set objOutlook = CreateObject("Outlook.Application")

    With ActiveSheet
         For i = 2 To .Columns(1).Find("*", [A1], , , xlByRows, xlPrevious).Row

            Set objMail = objOutlook.CreateItem(0)
            objMail.To = CStr(.Cells(i, 1))
            objMail.Subject = .Cells(i, 2)
            objMail.Body = .Cells(i, 3)
            objMail.Send
            Set objMail = Nothing

        Next i
    End With

    Set objOutlook = Nothing
End Sub
  1. Configure sua tabela de dados como a captura de tela está sendo exibida
  2. Abra o editor Excels VBA com Alt+F11
  3. Copie e cole o código acima em algum lugar
  4. Volte ao Excel e execute a macro com Alt+F8

Você também pode preencher CC, BCC ou usar assinaturas diferentes, se desejar. Se pudermos dar uma olhada mais de perto na sua tabela dinâmica, o código poderá ser modificado para funcionar com sua pasta de trabalho.

Recursos usados

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.