Excel Macro om automatisch e-mails te versturen (3 geschikte voorbeelden)

  • Deel Dit
Hugh West

Deze handleiding laat zien hoe je excel macro gebruikt om automatisch een e-mail te versturen. We kunnen onze mailingfunctie configureren met behulp van VBA macro's. Dus, met behulp van de VBA macro kunnen we een e-mail naar meerdere gebruikers tegelijk sturen. We moeten Outlook geïnstalleerd op ons apparaat om automatisch e-mail te versturen met een macro. Omdat de code die we zullen invoegen gebruik zal maken van Outlook om e-mails naar de ontvangers te sturen.

Download Praktijk Werkboek

U kunt het oefenwerkboek hier downloaden.

E-mail automatisch verzenden.xlsm

3 Geschikte voorbeelden van Excel Macro om automatisch e-mails te versturen

In dit artikel zullen wij aantonen 3 geschikte voorbeelden van het gebruik van excel macro om automatisch een e-mail te sturen naar de ontvangers. Voordat we beginnen met het illustreren van het voorbeeld moeten we een ding vast te stellen in onze excel sheet. Voltooi de onderstaande stappen voor het toepassen van macro om e-mail automatisch te verzenden.

STAPPEN:

  • Ga eerst vanuit uw dataset naar het tabblad Ontwikkelaar Selecteer de optie Visual Basic .

  • Ga vervolgens naar de Gereedschap en selecteer de optie Referenties .

  • Een nieuw dialoogvenster met de naam ' Referenties - VBAProject ' zal openen.
  • Controleer tenslotte de optie ' Microsoft Office 16.0 Objectenbibliotheek en klik op OK .

1. Excel VBA Macro toepassen om automatisch e-mail te versturen op basis van celwaarde

Eerst en vooral zullen we de excel VBA macro om automatisch een e-mail te versturen op basis van een bepaalde celwaarde in onze dataset. Om dit voorbeeld te illustreren gebruiken we de volgende dataset. We schrijven een code die automatisch een e-mail verstuurt als de celwaarde in cel D6 is groter dan 400 .

Laten we de stappen bekijken om deze actie uit te voeren.

STAPPEN:

  • Om te beginnen, rechts - klik op het blad Gebaseerd op Cel '.
  • Selecteer bovendien de optie ' Code bekijken '.

  • Bovenstaande actie opent een lege VBA codevenster voor dat werkblad. Een andere manier om dat codevenster te openen is door te drukken op Alt + F11 .
  • Verder typt u de volgende code in dat codevenster:
 Dim rg As Range Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Cells.Count> 1 Then Exit Sub Set rg = Intersect(Range("D6"), Target) If rg Is Nothing Then Exit Sub If IsNumeric(Target.Value) And Target.Value> 400 Then Call send_mail_outlook End If Sub send_mail_outlook() Dim z As Object Dim y As Object Dim b As String Set z =CreateObject("Outlook.Application") Set y = z.CreateItem(0) b = "Hello!" & vbNewLine & _ "Hope you are well" & vbNewLine & _ "Visit our site Exceldemy" On Error Resume Next With y .To = "Address" .cc = "" .BCC = "" .Subject = "send mail based on cell value" .Body = b .Display End With On Error GoTo 0 Set y = Nothing Set z = Nothing End Sub 
  • Klik vervolgens op de Ren toets of druk op de F5 om de code uit te voeren.

  • Een nieuw dialoogvenster met de naam Macro's zal verschijnen.
  • Daarna, in de Macro Naam veld de macro ' send_mail_outlook '.
  • Klik nu op de Ren knop.

  • Tenslotte, vanaf nu wanneer de celwaarde in cel D6> 400 een e-mail in Outlook zal automatisch worden gegenereerd met specifieke ontvangers. We hoeven alleen maar te klikken op de Stuur knop om de e-mail te versturen.

Lees meer: Automatisch e-mails versturen vanuit Excel op basis van celinhoud (2 methoden)

2. Automatisch e-mails versturen op basis van vervaldatum met VBA-macro

In de tweede methode gebruiken we de Excel VBA macro om automatisch een e-mail te sturen als de vervaldatum van een project nadert. Dit is zoiets als een herinnering. We gebruiken de volgende dataset om dit voorbeeld te illustreren. De dataset bevat e-mails van verschillende verkopers, berichten en de vervaldatum van hun project.

Volg de onderstaande stappen om deze methode uit te voeren.

STAPPEN:

  • Klik eerst met de rechtermuisknop op het blad Datum .
  • Selecteer vervolgens de optie ' Code bekijken '.

  • Het opent een lege VBA codevenster voor het actieve werkblad. We kunnen ook op Alt + F11 om dat codevenster te krijgen.
  • Voeg dan de volgende code in dat codevenster in:
 Public Sub Based_on_Date() Dim aRgDate als Range Dim aRgSend als Range Dim aRgText als Range Dim aRgDone als Range Dim aOutApp als Object Dim aMailItem als Object Dim aLastRow als Long Dim CrLf als String Dim aMailBody als String Dim zRgDateVal als String Dim zRgSendVal als String Dim aMailSubject als String Dim j als Long On Error Resume Next Set aRgDate = Application.InputBox("selecteer de kolom met de vervaldatum en de datum van het bericht.datum:", _ "Send Mail Base on Date", , , , , , 8) If aRgDate Is Nothing Then Exit Sub Set aRgSend = Application.InputBox("select the email recipients column:", _ "Send Mail Base on Date", , , , , 8) If aRgSend Is Nothing Then Exit Sub Set aRgText = Application.InputBox("Select the content column of email:", _ "Send Mail Base on Date", , , , , 8) If aRgText Is Nothing Then Exit Sub aLastRow =aRgDate.Rows.Count Set aRgDate = aRgDate(1) Set aRgSend = aRgSend(1) Set aRgText = aRgText(1) Set aOutApp = CreateObject("Outlook.Application") For j = 1 To aLastRow zRgDateVal = "" zRgDateVal = aRgDate.Offset(j - 1).Value If zRgDateVal "" Then If CDate(zRgDateVal) - Date 0 Then zRgSendVal = aRgSend.Offset(j - 1).Value aMailSubject = aRgText.Offset(j - 1).Value & " on " & zRgDateVal CrLf= " 

" aMailBody = "" aMailBody = aMailBody & "Hello " & zRgSendVal & CrLf aMailBody = aMailBody & "Message: " & aRgText.Offset(j - 1).Value & CrLf aMailBody = aMailBody & "" Set aMailItem = aOutApp.CreateItem(0) With aMailItem .Subject = aMailSubject .To = zRgSendVal .HTMLBody = aMailBody .Display End With Set aMailItem = Nothing End If End If Next Set aOutApp = Nothing EndSub

  • Gebruik nu de Ren knop of de F5 om de code uit te voeren.

  • Er verschijnt een nieuw dialoogvenster.
  • Selecteer daarna in het invoerveld van dat dialoogvenster het bereik van de kolom vervaldatum D$5:$D$9 Klik vervolgens op OK .

  • Er verschijnt nog een dialoogvenster.
  • Verder selecteert u in het invoerveld het kolombereik B$5:$B$9 dat de e-mailadressen bevat en klik op OK .

  • Bovendien verschijnt er nog een venster. Selecteer het berichtbereik $C$5:$C$9 in het invoerveld van het popvenster.

  • Uiteindelijk zien we resultaten als de volgende afbeelding. We krijgen 3 e-mails die automatisch worden aangemaakt in 3 verschillende vensters van Outlook Dit zal geen mail aanmaken voor de eerste twee e-mailadressen. Omdat de vervaldatum van die twee projecten voorbij is.

Lees meer: Hoe automatisch e-mails versturen vanuit Excel op basis van datum

Vergelijkbare lezingen

  • [Opgelost]: Werkmap delen wordt niet getoond in Excel (met eenvoudige stappen)
  • Hoe e-mail verzenden vanuit Excel lijst (2 effectieve manieren)
  • Hoe een bewerkbaar Excel-spreadsheet per e-mail verzenden (3 snelle methoden)
  • Macro om e-mail te versturen vanuit Excel (5 geschikte voorbeelden)
  • Macro om e-mail te versturen vanuit Excel met body (3 nuttige gevallen)

3. Excel Macro gebruiken om automatisch e-mails met bijlagen te versturen

In het laatste voorbeeld zullen we zien hoe we een excel-macro kunnen ontwikkelen om automatisch een e-mail met bijlagen te versturen. Stel dat we een bijlage hebben in de volgende afbeelding. We willen deze bijlage via een e-mail versturen met behulp van excel VBA macro. Om dit te doen hebben we het pad van dit excel-bestand nodig. Hier zijn de stappen daarvoor:

  • Selecteer het bestand ' Bijlage.xlsx ' '.
  • Klik op de optie ' Kopieer Pad '.

  • Dus, het pad van het bestand dat we krijgen:
E:\ExceldemyAttachment.xlsx

We zullen dit pad invoegen in onze macrocode om dit bestand per e-mail te versturen. Volg de onderstaande stappen om dit te doen.

STAPPEN:

  • Ga eerst naar de Ontwikkelaar en selecteer de optie Visual Basic .

  • Een nieuw venster met de naam ' Project - VBAProject wordt geopend '.
  • Ten tweede, klik met de rechtermuisknop op op de bladnaam.
  • Selecteer vervolgens Plaats > Module .

  • Het bovenstaande commando opent een lege VBA
  • Ten derde, typ de volgende code in die Module:
 Sub send_Email_complete() Dim MyOutlook As Object Set MyOutlook = CreateObject("Outlook.Application") Dim MyMail As Object Set MyMail = MyOutlook.CreateItem(olMailItem) MyMail.To = "[email protected]" MyMail.cc = "[email protected]" MyMail.BCC = "[email protected]" MyMail.Subject = "E-mail verzenden met VBA." MyMail.Body = "Dit is een voorbeeldmail." Bijgevoegd_File = "E:\ExceldemyAttachment.xlsx".MyMail.Attachments.Add Attached_File MyMail.send End Sub 
  • Druk dan op de F5 toets of klik op de Ren om de code uit te voeren.

  • Tenslotte stuurt de code de bijlage naar de opgegeven e-mails in de code. De code verstuurt e-mails door Outlook Dus, klik op de Sta toe. knop om Outlook stuur de bijlage naar de opgegeven e-mails.

Lees meer: Hoe Macro toepassen om e-mail te versturen vanuit Excel met bijlage

Conclusie

Concluderend blijkt uit dit artikel 3 voorbeelden van het gebruik van excel VBA macro om automatisch mail te versturen. Download het voorbeeldwerkblad in dit artikel om uw vaardigheden op de proef te stellen. Als u vragen heeft, laat dan een reactie achter in het vak hieronder. Ons team zal proberen uw bericht zo snel mogelijk te beantwoorden. Houd een oogje in het zeil voor meer inventieve Microsoft Excel oplossingen in de toekomst.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.