Dica: outros idiomas são traduzidos pelo Google. Você pode visitar o English versão deste link.
Entrar
x
or
x
x
Registre-se
x

or

Como enviar e-mail com cópia e colar um intervalo especificado no corpo do email no Excel?

Em muitos casos, uma gama especificada de conteúdos na planilha do Excel pode ser útil em sua comunicação por e-mail. Neste artigo, iremos introduzir um método para enviar um e-mail com uma extensão especificada para colar no corpo do email diretamente no Excel.

Enviar e-mail com um intervalo especificado colado no corpo do e-mail no Excel


Enviar e-mail com um intervalo especificado colado no corpo do e-mail no Excel


O código VBA a seguir pode ajudá-lo a copiar um intervalo e colá-lo em um corpo de email diretamente no Excel. Faça o seguinte.

1. Na planilha contém o intervalo que você precisa copiar, pressione o botão outro + F11 teclas simultaneamente para abrir o Microsoft Visual Basic para Aplicações janela.

2. Na abertura Microsoft Visual Basic para Aplicações janela, clique em Ferramentas > caso como abaixo a tela mostrada.

3. No Referências - VBAProject caixa de diálogo, encontre e verifique Biblioteca de Objetos do Microsoft Outlook opção e, em seguida, clique no botão OK botão.

4. Clique inserção > Módulo, então copie e cole o código VBA abaixo na janela Módulo.

Código VBA: envie e-mail com um intervalo especificado colado no corpo do email no Excel

Sub Send_Email()
    Dim xRg As Range
    Dim I, J As Long
    Dim xAddress As String
    Dim xEmailBody As String
    Dim xMailOut As Outlook.MailItem
    Dim xOutApp As Outlook.Application    
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select range you need to paste into email body", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    For I = 1 To xRg.Rows.Count
        For J = 1 To xRg.Columns.Count
            xEmailBody = xEmailBody & "  " & xRg.Cells(I, J).value
        Next
        xEmailBody = xEmailBody & vbNewLine
    Next
    xEmailBody = "Hi" & vbLf & vbLf & " body of message you want to add" & vbLf & vbLf & xEmailBody & vbNewLine
    With xMailOut
        .Subject = "Test"
        .To = "happy.xuebi@163.com"
        .Body = xEmailBody
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

Notas:

1). Altere o corpo do e-mail na linha xEmailBody = "Olá" & vbLf & vbLf & "corpo de mensagem que deseja adicionar" & vbLf & vbLf & xEmailBody & vbNewLine como você precisa.

2). Por favor, especifique o destinatário e o assunto do e-mail Para = feliz.xuebi@163.com e .Subject = "test" linhas no código.

5. aperte o F5 chave para executar o código. Na aparência Kutools for Excel caixa de diálogo, selecione o intervalo que você precisa para colar no corpo do e-mail e, em seguida, clique no botão OK botão. Ver captura de tela:

6. Agora, um email é criado com destinatário especificado, assunto, corpo e intervalo selecionado do Excel, clique no botão Enviar botão para enviar este e-mail. Veja a tela mostrada.

notas: O código VBA só funciona quando você usa o Outlook como seu programa de e-mail.


Artigos relacionados:



Ferramentas de produtividade recomendadas para o Excel

Kutools for Excel ajuda você a concluir o trabalho antes do tempo e se destacar da multidão

  • Mais do que poderosos recursos avançados do 300, projetados para cenários de trabalho 1500, aumentando a produtividade em 70%, você tem mais tempo para cuidar da família e aproveitar a vida.
  • Não precisa mais memorizar fórmulas e códigos VBA, dê um descanso a seu cérebro a partir de agora.
  • Torne-se um especialista em Excel em minutos 3, operações complicadas e repetidas podem ser feitas em segundos,
  • Reduza milhares de operações de teclado e mouse todos os dias, diga adeus às doenças ocupacionais agora.
  • 110,000 pessoas altamente eficazes e escolha de empresas de renome mundial 300 +.
  • 60-day full features versão de avaliação gratuita. Garantias de devolução do dinheiro 60. 2 anos de atualização e suporte gratuitos.

Traz navegação com guias e edição para o Microsoft Office, muito mais poderosa do que as guias do navegador

  • A guia Office foi projetada para Word, Excel, PowerPoint e outros aplicativos do Office: Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    sachin kumr · 2 months ago
    this is pasting as a text. Kindly suggest how to send the table or the same format which is copied from the excel.
  • To post as a guest, your comment is unpublished.
    miguel · 3 months ago
    Code to send automatically after selecting after ok
  • To post as a guest, your comment is unpublished.
    Dhiraj Mahajan · 5 months ago
    Hi
    This code is vary excellent, by using the code i have completed my 90% of my project.
    I have same issue as mentioned by Anirudh that is table formatting. How can i format the table in email.
    Please help me......
    • To post as a guest, your comment is unpublished.
      crystal · 4 months ago
      Good Day,
      The problem can't be solved yet. Sorry for the inconvenience and thank you for your comment.
      • To post as a guest, your comment is unpublished.
        Dhiraj Mahajan · 2 months ago
        Hi, Is there any update on below.......
        • To post as a guest, your comment is unpublished.
          Dhiraj Mahajan · 2 months ago
          Hi, Also I Wanted code for "Filter by Date".
          I am working on project, on that project I wanted to filter the data by the date, actually we have filter/hide the and last 05 days to current date data and we have highlight all other data.
          Please help me to complete this project.
          Your help is very great-full for me.
  • To post as a guest, your comment is unpublished.
    Anirudh · 9 months ago
    This is great. It is working as expected. The only issue is that the format of the table is not maintained in the mail. Can you let me know how do we preserve the format of the table in the mail
  • To post as a guest, your comment is unpublished.
    Michael Ferguson · 10 months ago
    This code is great, but I need to execute with a command button rather than pressing F5 in code view. I'd like my employees to be able to fill out some info, then hit the button and have it copy the range of cells they completed and paste into email. I can get code working for the email button and separately for the copy/paste of the range of cells, but can't seem to combine both functions. Please help!!! Thanks!
    • To post as a guest, your comment is unpublished.
      crystal · 9 months ago
      Hi Michael,
      You just need to create a button (such as a Button (Form Control)) in your worksheet, then assign the macro to the button.