- Katılım
- 13 Eylül 2015
- Mesajlar
- 201
- Excel Vers. ve Dili
- 2010 VBA
Değerli Arkadaşlar Merhaba,
Excelde seçili alanımı mailin gövde kısmına yapıştıran bir otomatik mail kodum var. Ben For döngüsü ile 37 kişiye ayrı ayrı mail açıp göndermesi için bişeyler yaptım. Ancak, aşağıdaki kodumu çalıştırdığımda 37 mailin bazılarının gövdesine excelimdeki "A1:"E12" alanımı almıyor. Bazılarına ise aynı gövdeyi birden çok kez kopyalıyor. Bi yerde hata yapıyorum ama çözemedim. yardımcı olabilir misiniz ?
Excelde seçili alanımı mailin gövde kısmına yapıştıran bir otomatik mail kodum var. Ben For döngüsü ile 37 kişiye ayrı ayrı mail açıp göndermesi için bişeyler yaptım. Ancak, aşağıdaki kodumu çalıştırdığımda 37 mailin bazılarının gövdesine excelimdeki "A1:"E12" alanımı almıyor. Bazılarına ise aynı gövdeyi birden çok kez kopyalıyor. Bi yerde hata yapıyorum ama çözemedim. yardımcı olabilir misiniz ?
Kod:
Private Sub CommandButton1_Click()
If (tarih.Value = "") Or (tarih.Value <> Format(tarih, "dd.mm.yyyy")) Then
MsgBox " Tarih Formatında Bir HATA Tespit Edildi. Lütfen Kontrol Ediniz!"
tarih.Value = ""
Else
Dim rng As Range
Dim SKK As Worksheet: Set SKK = Sheets("Karar Şablon")
Dim SKKM As Worksheet: Set SKKM = Sheets("İK-YK Karar")
Dim OutApp As Object
Dim OutMail As Object
Set rng = Nothing
For i = 1 To 37
If Me.Controls("bsk" & i).Value = True Then
j = i + 3
On Error Resume Next
Set rng = SKK.Range("A1:E12").Copy
On Error GoTo 0
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.sentonbehalfofname = "GSKT@BB.COM"
.To = SKKM.Range("C" & j).Value
'.CC = ""
'.BCC = ""
.Subject = "Bildiri"
.Display
DoEvents
SendKeys "^v", True
End With
On Error GoTo 0
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
Set OutMail = Nothing
Set OutApp = Nothing
End If
Next i
If j = 0 Then MsgBox "Herhangi bir Kutu Seçmediniz ! "
End If
End Sub
Private Sub tarih_Change()
Dim SKK As Worksheet: Set SKK = Sheets("İK-YK Karar")
SKK.Range("K2") = Format(tarih, "dd.mm.yyyy")
End Sub
