• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

VBA ile Excelden dinamik tablo oluşturarak mail atmak

  • Konbuyu başlatan Konbuyu başlatan lider22
  • Başlangıç tarihi Başlangıç tarihi
Katılım
31 Mart 2009
Mesajlar
227
Excel Vers. ve Dili
2010 türkçe
Bu yazımda sizlere Excel’de makro yolu ile nasıl mail gönderebileceğinizi anlatmaya çalışacağım. Excel.web.tr içinde oldukça örnek var ancak bir de benim katkım olsun istedim.

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.

Örnek dosya için tıklayın.

Faydalı olması dileğiyle...


Kod:
Dim Sayfa As Worksheet
    Dim Alan As Range
    Dim daralan As Range
 
'Mail kısmının boş bırakılması durumunu kontrol eder.
    If Cells(2, 2) = "" Then GoTo HATA
'Herhangi bir hata ile karşılaşırsa, makroyu sonlandırır.
    On Error GoTo HATA
 
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With
'Mail tablosuna dinamiklik kazandırmak için tabloda kaç satır olduğunu bulur.
    saydir = WorksheetFunction.CountIf(Range("D:D"), "<>") + 1
'Dinamik alan tanımlanır.  
  DinamikAlan = "D2:" & "G" & saydir
'Dinamik alan mail alanı olarak kurulur.  
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 = Cells(1, 2)
                .bcc = "admin@bymmb.com"
                .Send
            End With
 
        End With
 
        daralan.Select
    End With
    
    Sayfa.Select
 
HATA:
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With
 
Son düzenleme:
selam üstadım; ben de excel ödeme listemde bulunan cari ve ödeme bilgilerini vadesine üç gün kala mail atmasını istiyorum. Exceli açmadan otomatik yapması mümkün mü? ben şartlı biçimlendirme ve formülle kendi satırlarındaki hücrelere yazdırdım ama yine de filtrelemek gerekiyor. her gün sonraki 3 gün ödemesi olacak satırları mail ile ilgili kişilere bildirebilir miyiz?
 
Emek ve paylaşımınız için teşekkürler. Bol kazançlar.
 
Geri
Üst