2 makro 1 Mail

Katılım
30 Mart 2008
Mesajlar
84
Excel Vers. ve Dili
OFFICE 2016 TR
Altın Üyelik Bitiş Tarihi
21-04-2021
Merhaba Arkadaşlar,

Ekteki dosyadaki Ortalama sayfasında E50:J60 arasındaki notu Mail Yolla butonuna bastğımda çalışan makro ile birleştirmek istiyorum. Ekli dosyada tam olarak anlatmak istediğimi çizerek gösterdim.


Şu andaki makro;

Kod:
Sub Send_Row()
' Don't forget to copy the function RangetoHTML in the module.
' Working in Office 2000-2007
    Dim OutApp As Object
    Dim OutMail As Object
    Dim cell As Range
    Dim rng As Range
    Dim Ash As Worksheet
 
    Set Ash = ActiveSheet
    On Error GoTo cleanup
    Set OutApp = CreateObject("Outlook.Application")
    OutApp.Session.Logon
 
    With Application
        .EnableEvents = False
        .ScreenUpdating = False
    End With
 
    For Each cell In Ash.Columns("B").Cells.SpecialCells(xlCellTypeConstants)
        If cell.Value Like "?*@?*.?*" And LCase(cell.Offset(0, 1).Value) = "yolla" Then
            Ash.Range("A3:Q150").AutoFilter Field:=2, Criteria1:=cell.Value

            With Ash.AutoFilter.Range
                On Error Resume Next
                Set rng = .SpecialCells(xlCellTypeVisible)
                On Error GoTo 0
            End With
 
            Set OutMail = OutApp.CreateItem(0)
 
            On Error Resume Next
            With OutMail
                .to = cell.Value
                .Subject = "Ready Time Eksik"
                .HTMLBody = RangetoHTML(rng)
                .Display  'Or use Send
            End With
            On Error GoTo 0

            Set OutMail = Nothing
            Ash.AutoFilterMode = False
        End If
    Next cell

cleanup:
    Set OutApp = Nothing
    With Application
        .EnableEvents = True
        .ScreenUpdating = True
    End With
End Sub

Birleştirmek istediğim

Kod:
Sub Mail_Range_Outlook_Body()
' Don't forget to copy the function RangetoHTML in the module.
' Working in Office 2000-2007
    Dim rng As Range
    Dim OutApp As Object
    Dim OutMail As Object
 
    With Application
        .EnableEvents = False
        .ScreenUpdating = False
    End With
 
    Set rng = Nothing
    On Error Resume Next
    Set rng = Sheets("MailRangeSelection").Range("E50:J60").SpecialCells(xlCellTypeVisible)
    On Error GoTo 0
 
    If rng Is Nothing Then
        MsgBox "The selection is not a range or the sheet is protected" & _
               vbNewLine & "please correct and try again.", vbOKOnly
        Exit Sub
    End If
 
    Set OutApp = CreateObject("Outlook.Application")
    OutApp.Session.Logon
    Set OutMail = OutApp.CreateItem(0)
 
    On Error Resume Next
    With OutMail
        .To = "ron@debruin.nl"
        .CC = ""
        .BCC = ""
        .Subject = "This is the Subject line"
        .HTMLBody = RangetoHTML(rng)
        .Display   'or use .Send
    End With
    On Error GoTo 0
 
    With Application
        .EnableEvents = True
        .ScreenUpdating = True
    End With
 
    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub
Bu kodların birleştirilmesi konusunda yardımlarınızı rica ediyorum.

Bu kodların birleştirilmesi konusunda bir döküman mevcutsa ve paylaşılırsa çok sevinirim.

Saygılarımla.
 
Katılım
30 Mart 2008
Mesajlar
84
Excel Vers. ve Dili
OFFICE 2016 TR
Altın Üyelik Bitiş Tarihi
21-04-2021
Bir sayfada 2 Range

Arkadaşlar,

VB kodları ile ilgili dökümanı buldum. Şaban hocamın http://www.excel.web.tr/showthread.php?t=54020 devam ettirdiği konuyu mutlaka tavsiye ederim.

Günün 8-9 saati sitede olmama rağmen bu sorunu çözme konusunda henüz yeterli bilgiye sahip değilim. Uzman arkadaşlar ve hocalarım yardımcı olurlarsa çok sevinirim.

Bir sayfa üzerinde iki tane Range yapmak nasıl mümkün olur, bu kodlar birleşirmi?

Yardımlarınız için şimdiden teşekkürler.

Saygılarımla...
 
Katılım
30 Mart 2008
Mesajlar
84
Excel Vers. ve Dili
OFFICE 2016 TR
Altın Üyelik Bitiş Tarihi
21-04-2021
Çözüm bulamadık sanırım, okuyan ve ilgilenen arkadaşlara teşekkürlerimi sunarım.

Manuel yapmaya devam edeceğim artık.

Konu silinebilir saygılarımla...
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
e50:j60 aralığında ne yazacak? yapmış olduğunuz makro her satırdaki mail adresine otomatik mail atıyor. e50:j60 aralığında ne yazacaksa bunu R sütununda her satır için yazdırsanız olmaz mı?
 
Son düzenleme:
Katılım
30 Mart 2008
Mesajlar
84
Excel Vers. ve Dili
OFFICE 2016 TR
Altın Üyelik Bitiş Tarihi
21-04-2021
;301202' Alıntı:
e50:j60 aralığında ne yazacak? yapmış olduğunuz makro her satırdaki mail adresine otomatik mail atıyor. e50:j60 aralığında ne yazacaksa bunu R sütununda her satır için yazdırsanız olmaz mı?
Sayın ockucukay ilginiz için teşekkler.

Burada yazacağım metin 300 karakter tutabilir veya imza olabilir. Çalışma dönemi sonunda yolladığım mailde, performansın nasıl olduğunun açıklaması olabilir. R sütununda bu işlemi yapmam giden mail'in görselliğini çok kötü bozuyor.

Sayın ustalar bu konuda bir çözüm öneriniz varmıdır?

Çözümsüzmüdür, konuyu kapatmalımıyım...

Saygılarımla.
 
Üst