Página 1 de 1

FILTRO DE DINAMICA, COPIAR PARA CORPO DO EMAIL E ANEXAR VBA

Enviado: 11 Mai 2018 às 13:53
por jreynaldo
Bom dia,preciso de ajuda para finalizar um código.
Sou iniciante no VB e estou tendo uma dificuldade que nao to conseguindo andar.

Preciso criar uma macro que envie uma tabela no corpo do e-mail que deve ser filtrada pela dinamica de acordo com o envio.
E o envio deve ser para e-mail distintos de arco com a filial
E ainda no final de tudo anexar o arquivo no corpo do e-mail, de preferencia ocultando ou excluindo a "aba" onde estão os e-mails.

Pra exemplificar.

Na aba "Capa_email" vão estar as informações à serem enviadas
Na aba "Email" vão estar as informações das filiais, e-mail (para e cc), assunto e introdução
Na aba "Base" vai estar a base de toda informação que vai ser gerada na Capa_email

Então o envio dos e-mails precisa ser de acordo com a filial que vai estar na "E-mail" por filial e filtrando de acordo com a "Capa_email" e no final anexar a planilha em na mensagem.


Conseguir fazer o codigo pela metade, ele só copia a área que quero, cola no e-mail e anexa a planilha, mas nao consigo fazer o filtro dinamico no VBA e nem para que seja automatizado por filial.

Segue codigo
Código: Selecionar todos
Sub divulgacao_corpo_anexo()
      
' o ("E-mail") deveria ir descendo de acordo com o envio anterior'
' o ("Capa_email") precisaria ir sendo filtrado conforme mudando fosse sendo enviado de acorodo com a filial no ("e-mail)

   ' Emvia e-mail para o RIO'
    
   '---Copia a área para ser enviada da filial'
    Sheets("CAPA_EMAIL").Activate
    ActiveSheet.Range("A1:L28").Select
    ActiveWorkbook.EnvelopeVisible = True
    
   '---Anexa e envia a planilha no e-mail'
   With ActiveSheet.MailEnvelope
    
      .Item.Attachments.Add ActiveWorkbook.FullName
      .Introduction = ActiveWorkbook.Sheets("EMAIL").Range("F2") 
      .Item.To = ActiveWorkbook.Sheets("EMAIL").Range("C2")
      .Item.CC = ActiveWorkbook.Sheets("EMAIL").Range("D2")
      .Item.Subject = ActiveWorkbook.Sheets("EMAIL").Range("E2")
      .Item.Send
      
   End With
End Sub

Não sei se conseguir me explicar bem mas acho que da pra entender.
Em anexo a planilha.