Makro İle Excelden Mail Göndermek

38.703 defa okundu

Bu yazımda sizlere Excel’de makro  yolu ile nasıl mail gönderebileceğinizi anlatmaya çalışacağım.

Bu işlemin birçok yöntemi bulunmaktadır. Ben sizlere, bir tablonun nasıl mail gönderilebileceğini ve tabloya ekleme yapıldığında dinamik alanın nasıl oluşturulabileceğini anlatacağım.

NOT: Bilgisayarınızda Outlook kurulu olmalıdır. Ayrıca bcc kısmında benim mail adresim vardır. Örnek amacıyladır. Ona da dikkat ediniz.

Ayrıca seri olarak mail gönderme videosu ve dosyası için tıklayın.

Bir teşekkürü çok görmeyelim lütfen 🙂
Aşağıya yorum bırakabilir ve web sayfamı arkadaşlarınızla paylaşabilirsiniz… 🙂

Örnek dosyayı indirmek için tıklayın.

Faydalı olması dileğiyle…

Bunlar da ilginizi çekebilir

  1. Serdar Recepoğlu dedi ki:

    Merhaba,yazınızı okudum benim şu şekilde bir sıkıntım var…
    Sayfa üzerinde yazdırma alanı belirlenmiş bir alan var bu alana pdf ye çevir diye bir buton kodlaması yazdım ve çeviriyor çevirirken yazdırma alanı içerisindeki D6 hücresinden dosya kaydı yapacağı müşterinin adını otomatik çekiyor..Buraya kadar herşey normal bir buton kodlaması daha yaptım yine d12 deki mail adresine göre yazdırma sayfası içindeki kayıtlı olan dosyayı mail atmak istiyorum fakat Attachment yapacağım yerde dosya yolunu yazmam gerek ben yine müşteri adından çeksin istiyorum umarım anlatabilmişimdir…Cevabınızı bekliyorum teşekkürler..

  2. mehmet bayraktar dedi ki:

    bilgi işlem merkezinde kullanmak üzere diğer kullanıcıların excel üzerinden isteklerini benim mail adresime düşmesini istiyorum ve hocam sizin kodu kullanmaya çalıştım çalıştıramadım. yardımcı olursanız sevinirim.

  3. Mehmet dedi ki:

    Merhaba Arkadaşlar
    Benim bir düşüncem var;
    Bizim grup stok kayıtlarını tutuyor. Tahmin ettiğiniz gibi binlerce malzeme cinsi ve ilgili hücre var ve koşullu biçimlendirme ile kritik seviyeye gelen malzemeleri görebiliyoruz. Biz bir adım daha ileri giderek herhangi bir malzeme kritik seviyeye düştüğünde ilgili kişiler yani yaklaşık 10 kişiye şu malzeme kritik seviyeye düştü diye otomatik mail atması sizce olabilir mi ?
    görüş ve önerileriniz için şimdiden çok teşekkür ederim.

  4. murat karaalioğlu dedi ki:

    Merhaba Hocam
    vermiş olduğunuz mail gönderme ile ilgili excel için teşekkürler gerçekten çok işime yaradı emeği geçenlerin eline sağlık..teşekkürler.. bir ilave olarak kimden kısmını ekleyebilirmiyiz…FROM

  5. RAMAZAN T. dedi ki:

    emeğinize sağlık, paylaşımlarınız çok kaliteli ve özenli.
    bu kadar emek veriyorsunuz 5 yorum yapılması çok ilginç, toplum olarak duyarsız olduğumuz gösteriyor. eminim buradan öğrenip iş yerinde hava atan binlerce kişi vardır 🙂
    siz yine de paylaşımlarınıza devam edin, teşekkürler.

    • bymmb dedi ki:

      İçlerinden de olsa Allah razı olsun demişlerse bana yeter aslında 🙂
      Çünkü sadece bunun için paylaşıyorum.
      Yorumunuz için teşekkürler…

  6. Murat75 dedi ki:

    ellerinize sağlık
    o kadar işime yaradı ki ay sonlarında saatlerimi alan bildirimlerimi
    şimdi tek tuşla halledebiliyorum
    çok teşekkürler

  7. erkanengin dedi ki:

    hocam, elinize sağlık
    sade bir anlatımla kurgulamışsınız. çok işimi gördü allah razı olsun

    saygılar

  8. Amt dedi ki:

    Teşekkürler

  9. aaa dedi ki:

    Teşekkürler

  10. Hayrullah DOĞAN dedi ki:

    elinize sağlık , Teşekkürler, güzel bir raporlama aracı olmuş ancak buradaki kodlarda sabit bir düğmeye basılmadan , otomatik olarak belirli bir tarih ve saatte gönderme seçeneği de olsa daha da iyi olurmuş…

  11. Can dedi ki:

    Hocam selam,
    Introduction kısmında 2-3 satır halinde yazmak istiyorm mesajı. düzenlerken olmuyor hata alıyorum. Önerin nedir?

    Teşekkürler yazı için de.

  12. RAMAZAN TUNÇKOL dedi ki:

    site çok faydalı, emeklerin için teşekkürler.

  13. Welali dedi ki:

    Ustad paylaştığın tüm bilgiler için hayırlı isteklerin kabul olsun

    • Welali dedi ki:

      .bcc = “admin@bymmb.com” birde mail bu adresten mi gitti gözükecek

      • bymmb dedi ki:

        bcc kısmına ne yazarsanız o kişiye de mail olarak iletilir.

  14. Ümit dedi ki:

    Güzel Bir Çalışma Teşekkürler. Bunu Birde PDF olarak ekleyebilsek süper olur.

  15. Fikret Keklik dedi ki:

    Hocam elinize sağlık çok güzel bir çalışma olmuş

  16. Çayak dedi ki:

    Elinize sağlık teşekkürler

  17. Atilla dedi ki:

    Hocam, macro için eline sağlık, teşekkür ederim ancak bir sorum olacak.
    Macro sadece sheetin içindeki dinamik alanı mailin içine yapıştırıp gönderiyor. Sheetin bağlı olduğu workbooku komple nasıl göndereceğiz?
    İyi çalışmalar.

  18. ekrem dedi ki:

    çok teşekkürler,çok faydalı oldu

  19. MELIH dedi ki:

    elinize saglik

  20. Emir ALDEMİR dedi ki:

    Teşekkür ediyorum. işime yaradı. gerekli düzenlemeleri yaptım. aktif olarak kullanıyoruz. tekrar teşekkür ederim.

  21. Selçuk Karttıraş dedi ki:

    Selamlar,

    exceldeki bir alanı ve yaptığım dosyayı da ekleyerek otomatik mail atmaya çalışıyorum ama sürekli kodu doğru yazdığımdan emin olsam da hata alıp duruyorum. Outlook kurulu bilgisayarımda. Ancak neden hata aldığımı incelerken sizin dosyanızı buldum. Bunu da denedim ancak yine hem mail gitmedi hem de excel outlook gibi açıldı. Oraya manuel yazınca gidiyor. Gerek benim dosyamda gerek kendi yüklediğiniz dosyada bana yardımcı olabilir misiniz?

  22. Kayıhan Çağlar dedi ki:

    Güzel olmuş ellerinize sağlık

  23. Ugur dedi ki:

    Hocam, merhabalar. Programı indirdim ancak istediğim şekilde çalışmadı. Benim istediğim, 500 kişilik bir listedeki, örneğin a kolonundaki mail adreslerine aynı maili atması. Aynı anda eğer yapılabilirse, aynı dosyada mesela b kolonunda yazan isimleri de mail metninde belli bir yere yazabilirse süper olur. Mümkün müdür ?

    • bymmb dedi ki:

      Evet mümkündür. 🙂
      Bununla alakalı bir eğitim videosu hazırlayacağım.

      • eylül dedi ki:

        Yukarıda bahsi geçen video çekildi mi bilgi alabilir miyim?

  24. KADİR dedi ki:

    TEŞEKKÜRLER MORUK 😀

  25. Kamil dedi ki:

    Kardeş Eline Sağlık.

  26. yunus dedi ki:

    KOLAY GELSIN ÖNCELİKL EMEGINE SAGLIK FAKAT BENIM SÖYLE BİRŞEYE İHTİYACIM VAR.
    MANTIGI BUNA YAKIN BEN ELİMDE BULUNAN ECXEL TABLOSUNDA KI KİŞİLERE TOPLU MAIL ATMAK ISTIYORUM BCC
    EXCEL ÜZERİNDE KAYITLI BIRDAN FAZLA MAIL ADRESI AMA 1 ADET BILGILENDIRME MAILI

  27. Kerim Sarıkaya dedi ki:

    dosyayı e-mail ile gönderirken .Send kodundan sonra ekranda gönderim için onay penceresi çıkıyor. Bu kısmı nasıl kaldırabiliriz.

  28. İYİLİK İÇİN dedi ki:

    teşekkürler ellerinize sağlık

  29. tugrul bicici dedi ki:

    Teşekkür ederim:), çözene kadar size birkaç mail atmış olabilirim kusura bakmayın=D

  30. ArdConcept dedi ki:

    Merhaba Arkadaşım
    Ellerine Sağlık,Çok işime yaradı.

  31. mahmut dedi ki:

    güzel çalışma beyninize sağlık

  32. seçkin dedi ki:

    elinize sağlık tam aradığım bir konu

  33. erfem dedi ki:

    çok teşekkürler

  34. erhan dedi ki:

    eyvallah üstad çok işime yarayacak. Not: bir muhasebeci :)))

  35. Tahsin dedi ki:

    Admin eline sağlık güzel bir çalışma. Peki bunu kodlar ile belirli aralıklar ile nasıl gönderttirebiliriz. örneğin her hafta perşembe günü göndersin

  36. Fatih dedi ki:

    Elinize sağlık

  37. soner dedi ki:

    elinize sağlık ve paylaşım için teşekkürler. 🙂

  38. Ahmet Ankara dedi ki:

    Teşekkürlşer elinize sağlık

  39. B.sami dedi ki:

    Ellerine Sağlık

  40. burak şengil dedi ki:

    teşekkürler 🙂

  41. Hüseyin dedi ki:

    Hocam ellerine sağlık çok işime yarayacak.. Bu maile dosya eklememiz mümkün mü?

  42. Nilay Karabaşoğulları dedi ki:

    Merhabalar Mustafa Bey,

    Öncelikle bu bilgilendirici, faydalı, yardımsever paylaşımlarınız için teşekkürü bir borç bilirim. Ben sağlık sektöründe çalışmaktayım ve insanlara randevu tarihleri geldiğinde mail atmaktayım. Bunun için bir Excel dosyasında A sütununda hastaya ait mail adresi, B sütununda mailin gönderilmesi gereken tarih, C sütununda ise mailin içeriği var (2:2000 satırları arasında, her satırda kendine özgü olacak şekilde devam ediyor ve veriler başka sayfadan çekiliyor). Örneğin ben B5 hücresindeki tarih geldiğinde A5 hücresindeki mail adresine, C5 hücresindeki metni otomatik olarak (info@..hospital.com adresinden) gönderebilir miyim? Bir de bunu bir tuşa basmadan, B sütunundaki tarih geldiğinde otomatik olarak göndermesi sağlanabilir mi? Vereceğiniz her türlü cevap için şimdiden teşekkür eder, iyi günler dilerim. Saygılar

  43. Oğuz Boztaş dedi ki:

    Elinize sağlık. Teknolojiyi kullanarak hayatı kolaylaştırmak böyle bir şey. yıllardır kendi başıma excel ile bir çok işimi yaparak zamandan nasıl tasarruf ederim uğraşı içindeyim. bunu yaparken de hem öğrenmek hemde öğretmekte güzel bir şey.

    Nilay Karabaşoğulları yazmış olduğu işlemin aynısından benimde ihtiyacım var. Yardımcı olabilirseniz sevinirim. Aynı komutlar olursa da olur. hücreleri değiştirebilirim.
    Şimdiden teşekkürler.

  44. Cem dedi ki:

    Öncelikle teşekkürler. Bu send den önce alıcı anımsatıcı ve okundu satırlarında ekleye bilirmiyiz. Özetle otomatik gönderdiğim mailin okunduğu ve alıcı anımsatıcısında olmasına ihtiyacım var.

  45. Cenk dedi ki:

    Merhaba yapmış olduğunuz exceli sorunsuz olarak kullanıyordum fakat şirket bilgisayarı windows 10 güncellemesi yaptıktan sonra mail göndermede sıkıntı oluştu. Gönder Gitsin butonuna bastıktan sonra excel sayfasının üst kısmında outlook gibi From Sent To kısımları çıkıyor ve elle doldurulması isteniyor. Bunu düzeltmenin bir yolu var mı ?

    • bymmb dedi ki:

      Excel sürümü nedir?

    • ihsan dedi ki:

      hocam merhaba bende de Cenk Bey ile aynı sorun yaşıyorum. uzun süreden bu yana sorunsuz çalışıyordu hatta win10 ve excel2016 da da sorun yaşanmadı ancak dün şirkete bir win güncelleme geldi şuan aynen Cenk Bey deki sorunu yaşıyorum butona basıyorum excel sayfasının üst kısmında outlook gibi From Sent To kısımları çıkıyor ve excel donuyor. Sorun ne anlayamadım acil yardımcı olabilirseniz çok sevinirim. İlginiz ve emeğiniz için teşekürler

      • bymmb dedi ki:

        Bir office güncellemesi ile alakali olduğunu düşünüyorum. Güncellemelerden K ile başlayan herhangi bir update yapılmış mı kontrol eder misiniz?

  46. enes dedi ki:

    hocam peki dosya yolunu belirttiğimiz klasördeki rar dosyalarını excel üzerinden toplu mail atabilirmiyiz.

  47. Orhan dedi ki:

    Elinize, emeğinize sağlık. Çok işime yaradı. İmkan olsada bu gibi paylaşımların karşılığını maddi olarak verebilsek.

  48. kadir dedi ki:

    Elinize sağlık.

  49. Yasin dedi ki:

    Hocam merhaba
    Bu sisteme ekstra olarak zaman ayarı dahil edebilir miyiz? Örneğin bir sütunda 50 tane mail var, ben bunlara mailleri her 1 dakik da 2 veya 3 tanesine mail göndermek istiyorum. Böyle bir şey mümkün mü?

    • bymmb dedi ki:

      Eklenir ancak tavsiye etmem. Hem verimli olmaz hem de bilgisayarı çok yarar. Çünkü arka planda sürekli refresh komutu çalışacak.

  50. Gökhan dedi ki:

    Hocam merhaba,
    Sorunsuz ve harika bir makro olmuş elinize sağlık.
    1 sorum olacaktı; outlookta tanımlı imzamı bir türlü ekleyemedim dosya yolu “C:\Users\gokhan\AppData\Roaming\Microsoft\Signatures\imza.htm”. Gerekli kodlar ile yapıyorum hata vermiyor ama sadece tabloyu alıyor.

    yardım edebilirseniz sevinirim.

    • bymmb dedi ki:

      Gerekli ayarlamaları outlook üzerinden yapın. Outlookta default imza eklerseniz, otomatik gider.

      • Gökhan dedi ki:

        Hocam hızlı geri dönüş için teşekkür ederim.
        Dediğiniz gibi imza yeni iletide, yanıtlananda veya iletilende varsayılan olarak ayarlı fakat görünmedi bir türlü. Outlook versiyonu ile alakalı bir durum olabilir mi(2010 kullanıyorum). Resimli veya resimsiz imza denedim yapamadım.

  51. Gökhan dedi ki:

    Hocam hızlı geri dönüş için teşekkür ederim.
    Dediğiniz gibi imza yeni iletide, yanıtlananda veya iletilende varsayılan olarak ayarlı fakat görünmedi bir türlü. Outlook versiyonu ile alakalı bir durum olabilir mi(2010 kullanıyorum). Resimli veya resimsiz imza denedim yapamadım.

  52. Emre dedi ki:

    Hocam merhaba

    makroda yazılan sütunlar yerine mouse ile seçtiğimiz alanı nasıl mail göndeririz?

    • bymmb dedi ki:

      Dinamik alanı mouse ile seçtiğiniz alan olarak belirlemek için koda aşağıdaki satırları ekleyebilirsiniz.

      Dim daralan As String
      daralan = Selection.Address

      Bu sayede mouse ile seçtiğimiz alanı mail olarak gönderebiliriz.

      • Emre dedi ki:

        hocam yada sütunlardan birine tarih eklense makroda sadece bugun tarihli sütun ve satırları göndermek mümkünmüdür desteğinizi rica ediyorum 🙂

      • Emre dedi ki:

        bir kaç hata aldım belirttiğiniz satırları kodda nereye ekleyeceğim kusra bakmayın biraz acemiyim bu işde

  53. Emre dedi ki:

    hocam kodu eklesemde hata alıyorum nereye eklemem gerekiyor

    Private Sub CommandButton1_Click()
    Dim Sayfa As Worksheet
    Dim Alan As Range
    Dim daralan As Range

    If Cells(2, 2) = “” Then GoTo HATA

    On Error GoTo HATA

    With Application
    .ScreenUpdating = False
    .EnableEvents = False
    End With

    saydir = WorksheetFunction.CountIf(Range(“D:D”), “”) + 1
    DinamikAlan = “D2:” & “G” & saydir
    Set Alan = Worksheets(“Sayfa1”).Range(DinamikAlan)

    Set Sayfa = ActiveSheet

    With Alan

    .Parent.Select
    Set daralan = ActiveCell

    .Select
    ActiveWorkbook.EnvelopeVisible = True
    With .Parent.MailEnvelope

    .Introduction = “Otomatik Mail. BYMMB.COM tarafından tasarlanmıştır.”

    With .Item
    .To = Cells(2, 2)
    .CC = Cells(3, 2)
    .Subject = Format(Date, “DD.MM.YYYY”) & ” – Transfer Listesi..”
    .bcc = “admin@bymmb.com”
    .Send
    End With

    End With

    daralan.Select
    End With

    Sayfa.Select

    HATA:
    With Application
    .ScreenUpdating = True
    .EnableEvents = True
    End With

    End Sub

  54. emin köten dedi ki:

    Teşekkürler elinize sağlık

  55. A. Selim Şenüçler dedi ki:

    Sayın Yönetici,

    Siteye yeni girdim. Çok çok beğendim.
    Siteyi arkadaş ve dostlarıma önereceğim.

    Sevgi ve saygılar

  56. Şükrü Kurşun dedi ki:

    Merhaba Emeklerinizi bu şekilde umuma hediye ettiğiniz için çok teşekkür ederiz.

  57. murat dedi ki:

    yok artık 4 sene olmuş ve hala sayfa aktif!!! kod için teşekkürler. benimde bir sorum var. bu mailleri şu tarihte gönder şeklinde bir koşul koymak istiyorum mümkünmüdür.

    • bymmb dedi ki:

      Ben hayatta olduğum sürece paylaşımlarım da hayatta kalacak 🙂
      Kodları bir modül içine yazıp, isim verin. “Gonderici” mesela.
      Sonra butona şu kodları ekleyebilirsiz;

      dondur:
      if now()=timevalue("12:00:00") then call Gonderici
      if now() <> timevalue("12:00:00") then goto dondur

      • MURAT dedi ki:

        SAYFA AKTİF DERKEN halen RAĞBET GÖRÜYOR ANLAMINDA SÖYLEDİM. BUDA SİZİN BAŞARINIZ TABİİKİ. YALNIZ BEN TARİH OLAYINI BECEREMEDİM. KOŞULU SAAT OLARAK DEĞİLDE TARİH OLARAK YAPMAK İŞİMİ GÖRÜR. FIRSATINIZ OLURSA EKLİ DOSYANIZI ONA GÖRE DÜZENLEYEREK mail adresime gönderebilirseniz sanırım bayağı mutlu olurum 🙂 . YOKSA ARTIK BAKACAZ Bİ ÇARE ÇOK TEŞEKKÜRLER.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.