Makro ile Mail Atma Sorunu

Katılım
16 Temmuz 2005
Mesajlar
151
Excel Vers. ve Dili
2000 türkçe
Altın Üyelik Bitiş Tarihi
3.6.2022
Merhabalar;
Aşağıda eklediğim dosya ile toplu mail atmak istiyorum. Ancak döngü kurgusunda bir hata yapıyorum.
Ek teki sitede sorun yaşadığım yer TOPLU MAİL AT butonu.
Yardımlarınız için teşekkür ederim.

Not: Deneme sırasında mail atabilir.

Kod:
Private Sub CommandButton4_Click()


Sheets("Sayfa3").Select
Range("A5:CD676").Select
Selection.ClearContents
Sheets("Sayfa1").Select
ListBox1.Clear
Label6.Caption = ""
If cbaylar.Value = "" Then
MsgBox (" Lütfen AY seçiniz.")
Exit Sub
End If

Dim bak As Range
For Each bak In Sheets("rowsource").Range("n1:n" & WorksheetFunction.CountA(Range("n1:n11")))

cbmakine.Value = bak
Sheets("print2").Select
Sheets("Sayfa1").Select
ActiveSheet.Range("$A$2:$CX$1000").AutoFilter Field:=12, Criteria1:=">=" & CLng(CDate(CLng(CDate(TextBox1)))), Operator:=xlAnd, Criteria2:="<=" & CLng(CDate(CLng(CDate(TextBox2))))
ActiveSheet.Range("$A$2:$CX$1000").AutoFilter Field:=14, Criteria1:="=" & bak

    Range("A11:BA8320").Select
    Range("BA11").Activate
    Selection.Copy
    Sheets("Sayfa3").Select
    Range("A3").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("A3:BA8000").Select
    ActiveWorkbook.Worksheets("Sayfa3").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sayfa3").Sort.SortFields.Add Key:=Range("L3:L1000" _
        ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sayfa3").Sort
        .SetRange Range("A3:BA8000")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

Range("A3").Select
ListBox1.ColumnCount = 5
ListBox1.ColumnWidths = "35;200;50;100;50"
ListBox1.Clear
    Sheets("Sayfa3").Select
    Dim bak2 As Range
    For Each bak2 In Range("n1:n" & WorksheetFunction.CountA(Range("n1:n6500")))
        If StrConv(bak2.Value, vbUpperCase) = StrConv(cbmakine.Value, vbUpperCase) Then
            bak2.Select
ActiveCell.Offset(0, -2).Value = Format((ActiveCell.Offset(0, -2).Value), "dd.mm.yyyy hh.mm ")
ListBox1.AddItem
ListBox1.Column(0, sat) = (ActiveCell.Offset(0, -5).Value)
ListBox1.Column(1, sat) = (ActiveCell.Offset(0, -12).Value)
ListBox1.Column(2, sat) = (ActiveCell.Offset(0, -8).Value)
ListBox1.Column(3, sat) = (ActiveCell.Offset(0, -2).Value)
ListBox1.Column(4, sat) = (ActiveCell.Offset(0, -1).Value)
'ListBox1.Column(4, sat) = Format(ListBox1.Column(4, sat), "#,##0")
'ListBox1.Column(4, sat) = Replace(ListBox1.Column(4, sat), ",", ".")
sat = sat + 1
End If
Next bak2
Label6.Caption = ListBox1.ListCount
'''''''''''''Label8.Caption = Range("ca5").Value
Range("m500").Value = WorksheetFunction.Sum(Range("m3:m499"))
Label10.Caption = CDbl(Range("m500").Value)
Label10 = Format(Label10, "#,##0")
Sheets("Sayfa1").Select
Range("A4:CD4").Select
Selection.AutoFilter
Sheets("print2").Select
Range("A7:d3650").Select
Selection.ClearContents
Dim Data() As Variant
Dim i As Long
 
    ReDim Data(ListBox1.ListCount - 1, 4)
 
        For i = 0 To UBound(Data)
        Data(i, 0) = ListBox1.List(i, 0)
        Data(i, 1) = ListBox1.List(i, 1)
        Data(i, 2) = ListBox1.List(i, 4)
        ListBox1.List(i, 4) = CDbl(ListBox1.List(i, 4))
        Data(i, 3) = ListBox1.List(i, 3)
        'Data(i, 4) = ListBox1.List(i, 4)
        'Data(i, 5) = ListBox1.List(i, 5)
       'Data(i, 5) = Format(Data(i, 5), "dd.mm.yyyy")
      Next i
   Range("A7").Resize(i, 4) = Data
   Range("c2").Value = cbmakine.Value
   Range("a1").Value = TextBox1.Value & " ile " & TextBox2.Value & " TARİHLERİ ARASINDAKİ BASKI RAPORUDUR"
   Range("c5").Value = Label6.Caption & "  Adet  "
   Range("c4").Value = Label10.Caption & "  Tabaka "
   Application.ScreenUpdating = False
ActiveSheet.PageSetup.Orientation = xlLandscape

Sheets("print2").Select
    
ActiveSheet.PageSetup.Orientation = xlLandscape


Sheets("print2").Select
Application.Visible = True
Dim Sayfa As Worksheet
    Dim Alan As Range
    Dim daralan As Range
 
    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("A:A"), "<>") + 1
'Dinamik alan tanımlanır.
  DinamikAlan = "A1:" & "j" & saydir
'Dinamik alan mail alanı olarak kurulur.
Set Alan = Worksheets("Print2").Range(DinamikAlan)
    
    Set Sayfa = ActiveSheet
 
    With Alan
 
        .Parent.Select
        Set daralan = ActiveCell
 
        .Select
        ActiveWorkbook.EnvelopeVisible = True
        With .Parent.MailEnvelope
 
            .Introduction = (Cells(1, 3)) & "  Zafer Bekyürek / Kalite Kontrol Şefi"
 
            With .Item
                .To = "uretim@rubinofset.com.tr"
                .CC = "rubin@rubinofset.com.tr"
                .Subject = Cells(1, 1) & " ÜRETİM RAPORUDUR "
                .bcc = "oguzdemirbas@hotmail.com"
                .Send
            End With
 
        End With
 
        daralan.Select
    End With
    
    Sayfa.Select


'Sheets("Sayfa3").Select
Range("A5:CD676").Select
Selection.ClearContents
Sheets("Sayfa1").Select
ListBox1.Clear
Label6.Caption = ""
Next bak
 MsgBox (" Toplu Mail Başarılı Bir Şekilde Atıldı.")
End Sub
 

Ekli dosyalar

Katılım
16 Temmuz 2005
Mesajlar
151
Excel Vers. ve Dili
2000 türkçe
Altın Üyelik Bitiş Tarihi
3.6.2022
up
 
Üst