Home Excel - Dicas Microsoft Excel VBA Excel VBA - Envia Email Excel planilha vba eniva email dados anexo

Excel planilha vba eniva email dados anexo

E-mail Imprimir PDF
Saberexcel - o site de quem precisa aprender macros microsoft Excel VBA

Esse macro do Aplicativo Microsoft Excel VBA(Visual Basic Application) envia um email com anexo de determinada planilha(desejada),
para vários emails contendo no corpo da folha planilha o range especificado para envio.
Baixe o exemplo de planiha no final da página. fiquem com Deus, Expedito Marcondes

Sub sbx_envia_anexo_email_planilha_desejada()
Dim vNovoArquivo                  As Workbook
Dim vPlanAtiva                      As Worksheet
Dim vNovaPlanilha                 As Integer
Dim sbEnviarPlanilha              As String
Dim txArquivoExiste               As String
Dim sbExcluirArqTemporario    As String
Dim vDestino, vTitulo             As String
Dim vLinCol, i                       As Long
Dim txArquivoNumero            As Long
'- - - - - - - - - - - - - - - - - - -
''salva o arquivo como (Excel 2010)
'txArquivoExiste = ".xlsb": txArquivoNumero = 50
'txArquivoExiste = ".xlsx": txArquivoNumero = 51
'txArquivoExiste = ".xlsm": txArquivoNumero = 52
'- - - - - - - - - - - - - - - - - - -
    'vamos utilizar o formato (51) (xlsx)
    txArquivoExiste = ".xlsx": txArquivoNumero = 51
       
    'Instrução exibe o número de planilhas automaticamente inseridas em novas pastas de trabalho
    vNovaPlanilha = Application.SheetsInNewWorkbook
           
    'aqui definimos somente a planiha na ordem para nosso arquivo desejado
     Application.SheetsInNewWorkbook = 1
 
     With Sheets("Meus_Contatos")
          vLinCol = .Cells(Rows.Count, 1).End(xlUp).Row
           
          For i = 2 To vLinCol
              vDestino = .Cells(i, 1).Value
              vTitulo = .Cells(i, 2).Value
      
             'vamos definir a planilha que se tonará ativa
             Set vPlanAtiva = Sheets("Pagamento_Janeiro_2014")
             On Error Resume Next
            
             'Sheets(CStr(vPlanAtiva)).Select
             'usamos a instrução set para variavel para expandir para mais tres colunas
             'vamos copiar somente os dados filtrados como (setamos) acima
              Plan2.Range("A1:H8").Copy
           
             'Aqui vamos definir a folha de planiha do livro que enviaremos anexo em nosso email,
             'observem que poderá ser qualquer folha de planilha
             sbEnviarPlanilha = "Pagamento_Janeiro_2014"
             Plan2.Select
             'vamos adicionar ou criar um novo arquivos(wkb) no aplicativo excel
             Set vNovoArquivo = Application.Workbooks.Add
           
             'vamos fazer uma cola especial e colar somente os valores em nossa planilha ativa que será formatada.
             With ActiveSheet
                  .Range("A1").Value = "Agora - ( " & Date & " Dia de pagamento contas....)"
                  .Range("A4").PasteSpecial Paste:=xlPasteValues
                  .Range("A4").PasteSpecial Paste:=xlPasteFormats
                  .Range("A:I").Columns.AutoFit
             End With
                      
             Application.CutCopyMode = False
             'vamos definir o nome da folha de planilha para a folha de planilha copiada
               
             With ActiveSheet
                  .Name = sbEnviarPlanilha
                  .Range("A1").Select
             End With
  
            'essa linha de código enibe a mensagem do aplicativo excel
            Application.DisplayAlerts = False
           
            'vamos salvar nosso arquivo com o nome da folha de planilha que foi copiada no formato 2010 - xlsx (51)
            vNovoArquivo.SaveAs Filename:=ThisWorkbook.Path & "\" & "" & sbEnviarPlanilha & txArquivoExiste, FileFormat:=txArquivoNumero
            sbExcluirArqTemporario = vNovoArquivo.FullName
           
            'vamos enviar nosso arquivo para o email desejado
            vNovoArquivo.SendMail vDestino, vTitulo
           
            'Fechando o arquivo novo, observe que usei aqui Close e não Quit(Fecha todo Aplicativo)
            vNovoArquivo.Close
           
            'Instrução Kill deletará nosso arquivo temporariamente criado para o envio do email.
            Kill sbExcluirArqTemporario
           
            Next i
        End With
       
        'Instrução exibe o número de planilhas automaticamente inseridas em novas pastas de trabalho
        Application.SheetsInNewWorkbook = vNovaPlanilha
End Sub
' - - - - - - - - -
'deseja entrar em contato equipe saberexcel
'esse macro abre a página de contato do site SaberExcel.
Sub contato_equipe_saberexcel()
Dim Resposta As String
Resposta = MsgBox("deseja entrar em contato equipe saberexcel atraves do site?", vbYesNo + vbQuestion, "Saberexcel - site das macros")
If Resposta = vbYes Then
   Application.DisplayAlerts = False
   ThisWorkbook.FollowHyperlink "http://www.microsoftexcel.com.br/index.php/contato-duvidas-excel.html", , True
End If
End Sub



Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.

   Baixe o exemplo de planilha contendo o macro acima:
Excel planilha vba envia plan anexo (33 KB)

Última atualização em Ter, 21 de Fevereiro de 2012 17:22  

Comentários  

 
# 02/12/2011 08:53
Caro Senhor Marcondes, (PEDIDO DE DESENVOLVIMENTO )
Parabéns pelo exemplo.
Estamos olhando esse exemplo e ví que poderia nos ser mais útil se enviasse um email de acordo com a data de Aviso(Alerta) para o pagamento de determinados títulos.
Estamos muito interessado e gostariamos que desenvolvesse uma planiha dessas para nós que alem de enviar trouxesse os dados no corpo do email. Passe-nos o valor do trabalho,
Aguardamos, Obrigado,
Jair Oliveira (FE)
Responder | Responder com citação | Citação
 
 
# 02/12/2011 08:57
Citando Jair Oliveira:
Caro Senhor Marcondes, (PEDIDO DE DESENVOLVIMENTO )
Parabéns pelo exemplo.
Estamos olhando esse exemplo e ví que poderia nos ser mais útil se enviasse um email de acordo com a data de Aviso(Alerta) para o pagamento de determinados títulos.
Estamos muito interessado e gostariamos que desenvolvesse uma planiha dessas para nós que alem de enviar trouxesse os dados no corpo do email. Passe-nos o valor do trabalho,
Aguardamos, Obrigado,
Jair Oliveira (FE)

Planilha desenvolvida - ficou excelente, muito bom mesmo.
esta funcionando como queriamos. Jair Oliveira(FE)
Responder | Responder com citação | Citação
 
 
# 02/12/2011 08:59
' - - - - - - - - - - - - - - - -
Prezado Jair, obrigado pelo contato e também por ter contratados nossos serviços para desenvolver a planilha que envia email para vários
emails ou email desejado, com os dados da linha correpondente no corpo do email no dia do alerta (aviso) vencimento para determinado email.
usei o criterio data para desenvolver a planilha do Sr. Jair (FE).
obrigado.
Expedito Marcondes.
Responder | Responder com citação | Citação
 
 
# 02/02/2012 14:08
Olá, gostaria de saber como e se é possível, automatizar o rodapé de planilhas do excel com várias abas(sendo que cada aba deverá ter um número de anexo diferente Ex.: Aba 1 ANX381_RL-XXXXX; Aba 2 ANX382_RL-XXXXX; Aba 3 ANX383_RL-XXXXX...
Cada arquivo, contém 18 planilhas, logo, 18 anexos diferentes.
Agradeço desde já. Abraço.
Responder | Responder com citação | Citação
 
 
# 21/02/2012 14:12
Boa tarde Marcondes,
Não consigo baixar a planilha de exemplo não há o link.
Um abraço,
Rodrigo

'- - - - - - - - -
Rodrigo, Já disponibizei a planilha, desculpe-me a falha.
Fique com Deus,
Marcondes.
Responder | Responder com citação | Citação
 
 
# Torquato 02/05/2014 14:17
Como criar o botão envia e-mail para ativar essa macro ou como enviar o e-mail automaticamente de acordo com a data de vencimento?
Responder | Responder com citação | Citação
 

Adicionar comentário

"Jamais considere seus estudos como uma obrigação, mas como uma oportunidade invejável para aprender a conhecer a influência libertadora da beleza do reino do espírito, para seu próprio prazer pessoal e para proveito da comunidade." Albert Einstein


Código de segurança
Atualizar

Pesquisa Google SaberExcel

Publicidade Google

Publicidade

Rastreamento Correios

Digite o número do SEDEX conforme o exemplo:
Correios do Brasil

Assinatura SaberExcel

Google Associados

Depoimentos

Visitantes SaberExcel

Excel VBA Estudos®
mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterHoje3996
mod_vvisit_counterOntem4432
mod_vvisit_counterEsta Semana30519
mod_vvisit_counterSemana passada46212
mod_vvisit_counterEsse mês17725
mod_vvisit_counterMês passado153723
mod_vvisit_counterTodos10440554
Aprenda MS Excel VBA

Adicione Saberexcel Favoritos

 
 

Aprenda tudo sobre o Aplicativo Microsoft Excel VBA

Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel,


   Sobre as WorksheetFunctions Funções de Planilhas que retornam valores do VBA