Excel'den Outlook aracılığıyla hücre aralığı nasıl gönderilir / e-posta iletilir?
Bir çalışma sayfasında rapor hazırlamayı bitirdikten sonra, bu çalışma sayfasında bulunan ve önemli veriler içeren bir hücre aralığını belirli bir alıcıya gönderme sorunuyla karşılaştınız mı? Excel'den Outlook'u açmadan bu aralığı e-posta ile hızlı bir şekilde göndermenin bir yolu var mı?
VBA kodu ile Excel'den hücre aralığını eklenti olarak gönderme
VBA kodu ile Excel'den hücre aralığını e-posta gövdesi olarak gönderme
VBA kodu ile Excel'den hücre aralığını eklenti olarak gönderme
Aşağıdaki VBA kodu, seçtiğiniz aralığı Excel'de eklenti olarak göndermenize yardımcı olabilir. Lütfen şu adımları izleyin:
1. Çalışma kitabınızı açın ve ardından Microsoft Visual Basic for Applications penceresini açmak için ALT + F11 tuşlarına basın.
2. Ekle Insert > Module, ve aşağıdaki kodu Module Window yapıştırın.
VBA kodu: Excel'den hücre aralığını eklenti olarak gönderme
Sub SendRange()
'Update 20131209
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
If Wb2.HasVBProject Then
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
Else
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
End If
Case Excel8:
xFile = ".xls"
xFormat = Excel8
Case xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
.To = "skyyang@extendoffice.com"
.CC = ""
.BCC = ""
.Subject = "information of kte"
.Body = "hello, please check and read this document. "
.Attachments.Add Wb2.FullName
.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Not: Yukarıdaki kodda, aşağıdaki bilgileri kendi ihtiyaçlarınıza göre değiştirebilirsiniz.
- .To = "skyyang@extendoffice.com"
- .CC = ""
- .BCC = ""
- .Subject = "kte bilgisi"
- .Body = "merhaba, lütfen bu belgeyi kontrol edin ve okuyun."
3. Ardından bu kodu çalıştırmak için F5 tuşuna basın ve size göndermek istediğiniz bir aralık seçmenizi hatırlatan bir uyarı kutusu açılacaktır. Ekran görüntüsüne bakın:
4. Tamam'a tıklayın ve ardından ilerleme çubuğu tamamlandıktan sonra bir uyarı kutusu belirecektir, İzin Ver'i tıklayın ve belirli hücre aralığı alıcınıza eklenti olarak gönderilmiştir.

Kutools AI ile Excel Sihirini Keşfedin
- Akıllı Yürütme: Hücre işlemleri gerçekleştirin, verileri analiz edin ve grafikler oluşturun—tümü basit komutlarla sürülür.
- Özel Formüller: İş akışlarınızı hızlandırmak için özel formüller oluşturun.
- VBA Kodlama: VBA kodunu kolayca yazın ve uygulayın.
- Formül Yorumlama: Karmaşık formülleri kolayca anlayın.
- Metin Çevirisi: Elektronik tablolarınız içindeki dil engellerini aşın.
VBA kodu ile Excel'den hücre aralığını e-posta gövdesi olarak gönderme
Eğer belirli bir aralığı Excel'den e-posta mesajının bir parçası olarak göndermek istiyorsanız, aşağıdaki VBA kodunu da uygulayabilirsiniz.
1. Çalışma sayfanızı etkinleştirin ve Microsoft Visual Basic for Applications penceresini açmak için ALT + F11 tuşlarına basın.
2. Ekle > Modül'e tıklayın ve aşağıdaki kodu Modül Penceresine yapıştırın.
VBA kodu: Excel'den hücre aralığını e-posta gövdesi olarak gönderme
Sub EmailRange()
'Update 20131209
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
WorkRng.Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "Please read this email."
.Item.To = "skyyang@extendoffice.com"
.Item.Subject = "information of kte"
.Item.Send
End With
Application.ScreenUpdating = True
End Sub
Not: Yukarıdaki kodda, aşağıdaki bilgileri kendi ihtiyaçlarınıza göre değiştirebilirsiniz.
- .Introduction = "Lütfen bu e-postayı okuyun."
- .Item.To = "skyyang@extendoffice.com"
- .Item.Subject = "kte bilgisi"
3. Ardından bu kodu çalıştırmak için F5 tuşuna basın ve size göndermek istediğiniz bir aralık seçmenizi hatırlatan bir uyarı kutusu açılacaktır.
4. Tamam'a tıklayın ve ardından ilerleme çubuğu tamamlandıktan sonra bir uyarı kutusu belirecektir, İzin Ver'i tıklayın ve belirli hücre aralığı alıcınıza e-posta gövdesi olarak gönderilmiştir.
Notlar:
1. Bu kodlar yalnızca Outlook'un e-posta programınız olarak kullandığınız durumlarda geçerlidir.
2. Geçerli çalışma sayfasını gönderdikten sonra, e-postanın başarıyla gönderildiğinden emin olmak için Outlook'unuzu kontrol edebilirsiniz.
İlgili makaleler:
Excel'den sadece çalışma sayfası nasıl gönderilir?
Excel'den mevcut çalışma kitabı nasıl gönderilir?
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar. En çok ihtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
- Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!