Seçili Alanı Mail Eki Olarak Gönderme

huseyinn31

Altın Üye
Katılım
7 Mart 2021
Mesajlar
46
Excel Vers. ve Dili
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
10-10-2025
Merhaba,

Çalışanların işe giriş ve çıkış saatlerini gösteren tablodan bazı veriler ile özet tablo oluşturdum. Bu özet tabloda, Buton 1 ile seçili hücre aralığını farklı kaydet, 2. buton ile seçili hücre aralığını (56R x 10C) maile excel formatında ek yaparak H1 hücresinde yazan mail adresine göndermesini istiyorum. Sitede farklı kodları deneyerek farklı kaydet kısmını halletmek üzereyim ama seçili hücre aralığını maile excel formatında eklemesi kısmını çözemedim. Yardımcı olabilir misiniz
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,588
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki kod seçili hücreleri yeni bir excel dosyası oluşturup kayıt eder..

C++:
Option Explicit

Sub Save_Selected_Cells_as_Excel_File()
    Dim File_Name As String, Rng As Range, WB As Workbook
   
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
   
    File_Name = "C:\Users\Desktop\" & Range("Z1").Value & " - " & Range("Z2").Value & ".xlsx"
    Set Rng = Selection
    Set WB = Workbooks.Add(1)
   
    Rng.Copy
    WB.Sheets(1).Range("A1").PasteSpecial Paste:=xlPasteValues
    WB.Sheets(1).Range("A1").PasteSpecial Paste:=xlPasteFormats
    WB.Sheets(1).Cells.EntireColumn.AutoFit
    
    WB.Close True, File_Name
   
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True

    Rem Buraya mail gönderme kodlarınızı ekleyebilirsiniz. Ayrıca aşağıdaki şekilde maile ek olarak dosyayı ekleyebilirsiniz.
    Rem .Attachments.Add (File_Name)
End Sub
 

huseyinn31

Altın Üye
Katılım
7 Mart 2021
Mesajlar
46
Excel Vers. ve Dili
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
10-10-2025
Aşağıdaki kod seçili hücreleri yeni bir excel dosyası oluşturup kayıt eder..

C++:
Option Explicit

Sub Save_Selected_Cells_as_Excel_File()
    Dim File_Name As String, Rng As Range, WB As Workbook
   
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
   
    File_Name = "C:\Users\Desktop\Deneme.xlsx"
    Set Rng = Selection
    Set WB = Workbooks.Add(1)
   
    Rng.Copy WB.Sheets(1).Range("A1")

    WB.Close True, File_Name
   
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True

    Rem Buraya mail gönderme kodlarınızı ekleyebilirsiniz. Ayrıca aşağıdaki şekilde maile ek olarak dosyayı ekleyebilirsiniz.
    Rem .Attachments.Add (File_Name)
End Sub
Korhan Bey yardımız için teşekkürler. Formüller olmadan ve dosya adını 2 hücrenin birleşiminden yazdırmamız mümkün mü?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,588
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bahsi geçen 2 hücrede tam olarak ne yazıyor?
 

huseyinn31

Altın Üye
Katılım
7 Mart 2021
Mesajlar
46
Excel Vers. ve Dili
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
10-10-2025
Bahsi geçen 2 hücrede tam olarak ne yazıyor?
Çözüldü: Dosya isminin " XYZ Müdürlüğü - Tarih " şeklinde olmasını istiyordum. Forumda diğer konuları inceleyerek az çok kod bilgimiz ile yapabildim. Aşağıdaki konuya yardımcı olabilir misiniz.

Çözüldü: Dosyayı oluşturup açtığımda aşağıdaki gibi hata veriyor. Formüllerden kurtulmak için değer olarak kaydettirdim ama bu sefer de saat ve tarihler text olarak görünüyor.

246960

---

Seçili hücrelere girilen veriye göre sütun genişliğinin otomatik ayarlanmasını sağlayan kod görmüştüm. Bunu seçilen hücreleri kaydettiğimiz excel için de uygulama imkanımız var mı?
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,588
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
#2 nolu mesajımdaki kodu dosyanın adını 2 hücreden (Z1-Z2 hücreleri) alacak şekilde ve ayrıca sütun genişliklerini ayarlayan koduda ekleyerek revize ettim.
 
Üst