Otomatik Olarak E-posta Göndermek için Excel Makrosu (3 Uygun Örnek)

  • Bunu Paylaş
Hugh West

Bu eğitimde, otomatik olarak e-posta göndermek için excel makrosunun nasıl kullanılacağı gösterilecektir. VBA makrolarını kullanarak VBA makrosu ile aynı anda birden fazla kullanıcıya e-posta gönderebiliriz. Görünüm bir makro ile otomatik olarak e-posta göndermek için cihazımızda yüklü. Çünkü ekleyeceğimiz kod Görünüm alıcılara e-posta göndermek için.

Alıştırma Çalışma Kitabını İndirin

Alıştırma çalışma kitabını buradan indirebilirsiniz.

Otomatik Olarak E-posta Gönder.xlsm

3 Otomatik Olarak E-posta Göndermek için Uygun Excel Makro Örnekleri

Bu makale boyunca şunları göstereceğiz 3 Alıcılara otomatik olarak e-posta göndermek için excel makrosu kullanmaya uygun örnekler. Örneği göstermeye başlamadan önce excel sayfamızdaki bir şeyi düzeltmemiz gerekiyor. Otomatik olarak e-posta göndermek için makro uygulamadan önce aşağıdaki adımları tamamlayın.

ADIMLAR:

  • İlk olarak, veri kümenizden Geliştirici sekmesi . seçeneğini seçin Visual Basic .

  • Ardından, şu adrese gidin Alet sekmesine gidin ve seçeneği seçin Referanslar .

  • ' adlı yeni bir diyalog kutusu Referanslar - VBAProject ' açılacaktır.
  • Son olarak, ' Microsoft Office 16.0 Nesne Kitaplığı ' seçeneğine tıklayın ve TAMAM. .

1. Hücre Değerine Göre Otomatik Olarak E-posta Göndermek için Excel VBA Makrosu Uygulayın

İlk ve en önemlisi, excel'i uygulayacağız VBA makrosunu kullanarak veri kümemizdeki belirli bir hücre değerine göre otomatik olarak bir e-posta göndereceğiz. Bu örneği göstermek için aşağıdaki veri kümesini kullanacağız. D6 'den büyüktür. 400 .

Bu işlemi gerçekleştirmek için gerekli adımları görelim.

ADIMLAR:

  • Başlamak için, doğru - tıklayın sayfasında ' Hücre Bazlı '.
  • Buna ek olarak, ' Kodu Görüntüle '.

  • Yukarıdaki eylem boş bir VBA Bu kod penceresini açmanın bir başka yolu da Alt + F11 .
  • Ayrıca, bu kod penceresine aşağıdaki kodu yazın:
 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 End Sub 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 & 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 
  • Daha sonra Koşmak düğmesine basın veya F5 tuşuna basarak kodu çalıştırın.

  • Adında yeni bir diyalog kutusu Makrolar görünecek.
  • Bundan sonra Makro Adı alanından makroyu seçin ' send_mail_outlook '.
  • Şimdi de Koşmak Düğme.

  • Son olarak, şu andan itibaren hücredeki değer D6> 400 bir e-posta Görünüm belirli alıcılarla otomatik olarak oluşturulacaktır. Gönder düğmesine basarak e-postayı gönderin.

Daha fazlasını okuyun: Excel'den Hücre İçeriğine Göre Otomatik Olarak E-posta Gönderme (2 Yöntem)

2. VBA Makrosu ile Son Tarihe Göre Otomatik Olarak E-posta Gönderme

İkinci yöntemde, Excel'i kullanacağız VBA makrosu, herhangi bir projenin son tarihi yaklaştığında otomatik olarak bir e-posta göndermek için kullanılır. Bu, hatırlatma gibi bir şeydir. Bu örneği göstermek için aşağıdaki veri kümesini kullanıyoruz. Veri kümesi, farklı satış elemanlarının e-postalarını, mesajlarını ve projelerinin son tarihini içerir.

Bu yöntemi gerçekleştirmek için aşağıdaki adımları izleyin.

ADIMLAR:

  • İlk olarak, sayfaya sağ tıklayın Tarih .
  • Ardından, ' Kodu Görüntüle '.

  • Boş bir sayfa açar VBA Etkin çalışma sayfası için kod penceresi. Alt + F11 o kod penceresini almak için.
  • Ardından, bu kod penceresine aşağıdaki kodu ekleyin:
 Public Sub Based_on_Date() Dim aRgDate As Range Dim aRgSend As Range Dim aRgText As Range Dim aRgDone As Range Dim aOutApp As Object Dim aMailItem As Object Dim aLastRow As Long Dim CrLf As String Dim aMailBody As String Dim zRgDateVal As String Dim zRgSendVal As String Dim aMailSubject As String Dim j As Long On Error Resume Next Set aRgDate = Application.InputBox("select the column of duedate:", _ "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 & "Merhaba " & zRgSendVal & CrLf aMailBody = aMailBody & "Mesaj: " & aRgText.Offset(j - 1).Value & CrLf aMailBody = aMailBody & "" Set aMailItem = aOutApp.CreateItem(0) İle aMailItem .Subject = aMailSubject .To = zRgSendVal .HTMLBody = aMailBody .Display End With Set aMailItem = Nothing End If End If Next Set aOutApp = Nothing EndAlt

  • Şimdi de Koşmak düğmesine veya F5 tuşuna basarak kodu çalıştırın.

  • Yeni bir diyalog kutusu açılacaktır.
  • Daha sonra, bu diyalog kutusunun giriş alanında son tarih sütun aralığını seçin D$5:$D$9 Daha sonra TAMAM. .

  • Bir diyalog kutusu daha açılacaktır.
  • Ayrıca, giriş alanında sütun aralığını seçin B$5:$B$9 e-posta adreslerini içeren ve TAMAM. .

  • Ayrıca, bir pencere daha açılacaktır. Mesaj aralığını seçin $C$5:$C$9 açılır pencerenin giriş alanında.

  • Sonunda, aşağıdaki resimdeki gibi sonuçlar görebiliriz. 3 içinde otomatik olarak oluşturulan e-postalar 3 farklı pencereleri Görünüm Bu, ilk iki e-posta adresi için posta oluşturmayacaktır. Çünkü bu iki projenin son teslim tarihi bitmiştir.

Daha fazlasını okuyun: Excel'den Tarihe Göre Otomatik Olarak E-posta Gönderme

Benzer Okumalar

  • [Çözüldü]: Çalışma Kitabını Paylaş Excel'de Gösterilmiyor (Kolay Adımlarla)
  • Excel Listesinden E-posta Gönderme (2 Etkili Yol)
  • Düzenlenebilir Excel Elektronik Tablosu E-posta ile Nasıl Gönderilir (3 Hızlı Yöntem)
  • Excel'den E-posta Gönderme Makrosu (5 Uygun Örnek)
  • Excel'den Gövde ile E-posta Gönderme Makrosu (3 Faydalı Durum)

3. Eklerle Otomatik Olarak E-posta Göndermek için Excel Makrosunu Kullanın

Son örnekte, ekleri olan bir e-postayı otomatik olarak göndermek için nasıl bir excel makrosu geliştirebileceğimizi göreceğiz. Aşağıdaki resimde bir ekimiz olduğunu varsayalım. Bu eki excel kullanarak bir e-posta ile göndermek istiyoruz VBA makro. Bunu yapmak için bu excel dosyasının yoluna ihtiyacımız var. İşte bunun için adımlar:

  • Dosyayı seçin ' Attachment.xlsx ' '.
  • ' seçeneğine tıklayın Kopyalama Yolu '.

  • Yani, elde ettiğimiz dosyanın yolu:
E:\Exceldemy\Attachment.xlsx

Bu dosyayı e-posta ile göndermek için bu yolu makro kodumuza ekleyeceğiz. Bunu yapmak için aşağıdaki adımları izleyin.

ADIMLAR:

  • İlk olarak, şu adrese gidin Geliştirici sekmesine gidin ve seçeneği seçin Visual Basic .

  • ' adlı yeni bir pencere Proje - VBAProject açılacaktır '.
  • İkinci olarak, sağ tıklayın sayfa adı üzerinde.
  • Ardından, şunları seçin Ekleme > Modül .

  • Yukarıdaki komut boş bir VBA
  • Üçüncü olarak, bu Modüle aşağıdaki kodu yazın:
 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 = "VBA ile E-posta Gönderme." MyMail.Body = "Bu Örnek Bir Postadır." Attached_File = "E:\Exceldemy\Attachment.xlsx"MyMail.Attachments.Add Attached_File MyMail.send End Sub 
  • Sonra, vur F5 tuşuna basın veya Koşmak düğmesine basarak kodu çalıştırın.

  • Son olarak, kod eki kodda verilen e-postalara gönderecektir. Kod e-postaları şu şekilde gönderir Görünüm . Öyleyse, tıklayın İzin ver izin vermek için Görünüm eki verilen e-postalara gönderin.

Daha fazlasını okuyun: Excel'den Ek ile E-posta Göndermek için Makro Nasıl Uygulanır

Sonuç

Sonuç olarak, bu makale şunları göstermektedir 3 excel kullanma örnekleri̇ VBA otomatik olarak posta göndermek için makro. Becerilerinizi test etmek için bu makalede verilen örnek çalışma sayfasını indirin. Herhangi bir sorunuz varsa, lütfen aşağıdaki kutuya bir yorum bırakın. Ekibimiz mesajınıza mümkün olan en kısa sürede cevap vermeye çalışacaktır. Daha yaratıcı şeyler için gözünüzü dört açın Microsoft Excel gelecekte çözümler.

Hugh West, sektörde 10 yılı aşkın deneyime sahip oldukça deneyimli bir Excel eğitmeni ve analistidir. Muhasebe ve Finans alanında lisans derecesine ve İşletme alanında yüksek lisans derecesine sahiptir. Hugh öğretme tutkusuna sahiptir ve takip etmesi ve anlaması kolay benzersiz bir öğretim yaklaşımı geliştirmiştir. Excel konusundaki uzman bilgisi, dünya çapında binlerce öğrencinin ve profesyonelin becerilerini geliştirmesine ve kariyerlerinde başarılı olmasına yardımcı olmuştur. Hugh, blogu aracılığıyla bilgisini dünyayla paylaşıyor, bireylerin ve işletmelerin tam potansiyellerine ulaşmalarına yardımcı olmak için ücretsiz Excel eğitimleri ve çevrimiçi eğitimler sunuyor.