• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

excel açıldığın da hemen kaydetsin

Katılım
12 Kasım 2019
Mesajlar
44
Excel Vers. ve Dili
2007 türkçe
Arkadaşlar merhaba başlık saçma gelebilir ama açıklayayım :)

Excel de bir teklif sayfası tasarladım. Her teklifi de pdf ve excel formatında kaydetmesi için buton oluşturdum. Bugün patron teklifi her açtığımız da sıra numarası versin dedi.

Sub Auto_Open()
Sheets("teklif").Select
[o12] = [o12] + 1
End Sub
Bu kod ile onu da hallettim. Fakat teklif formu excelini açıyorum, teklifi hazırlayıp kaydettiğim zaman FİRMA İSMİ ile kaydediyor. Yani Teklif formunda hiç bir işlem olmadığı için tekrar açtığım da yukarı da ki kod sayısı artırmıyor.

Bende işin içinden çıkamadım. Belki excel açılır açılmaz kaydet kodu var ise bu sorunu da bu şekilde aşmış olacağım. Yüzdüm yüzdüm kuyruguna geldim. Bir el atın da bitireyim şunu. Şimdiden Allah razı olsun :)
 
Eğer sorunuzu doğru anladıysam;
Auto_open() içerisine ActiveWorkbook.Save eklemeniz yeterli sanırım
 
Eğer sorunuzu doğru anladıysam;
Auto_open() içerisine ActiveWorkbook.Save eklemeniz yeterli sanırım

Hocam denedim olmadı. Şöyle ifade edeyim.

Teklif Formu isimli excel i açıyorum. İçerisinde değişiklikleri yapıp Excel i kaydet dediğim de Firma ismi ile farklı kaydediyor. Doğal olarak Teklif Formu isimli excel de aslında hiç işlem yapılmamış oluyor.

Şimdi verdiğiniz kodu ekledim. 00016 idi. Kapatıp açtım 0016 kaldı. buton ile farklı kaydetmeyip ctrl +s ile kaydedip açarsam 0017 oluyor.

Bunu da dosyayı açar açmaz ctrl+s kaydet mantığı ile kaydederse ben dosyayı farklı kaydetsem bile 0017 olacak.
 
Her teklifi de pdf ve excel formatında kaydetmesi için buton oluşturdum.
Yukarıda bahsettiğiniz bu buton içerisindeki kod da, en üstte uygun bir yere " ActiveWorkbook.Save "
satırı eklemeyi deneyin.
Yani amacımız kitabı farklı kaydetmeden önce açık kitabı kaydedecek, sonra kod devreye girecek ve farklı kaydet işlemi gerçekleşecek.
 
Hocam her ikisini de yaptım. Olmadı.


Excel dosyasını ekledim. Bakma şansınız olur mu ? Bakarsanız ne demek istediğimi anlarsınız. Vaktinizi almamak adına ayarlar sekmesine koydum kaydetme yolunu.

Şu şekilde yapsak olur mu acaba

C++:
Sub Auto_Open()
ActiveWorkbook.Save
Sheets("teklif").Select
[o12] = [o12] + 1
End Sub

C++:
Sub PdfKaydet()

    Module4.Auto_Open
    
    Path = Worksheets("ayarlar").Range("B1").Text
    
    Faturalanan = Worksheets("teklif").Range("F8").Value

    Worksheets("teklif").ExportAsFixedFormat xlTypePDF, Filename:=Path & Faturalanan & "_" & Date & " " & Format(Time, "hh-mm") & ".pdf"


End Sub
 
Bir de kodlarınızı kaydettiğiniz excele aktarmamak için

Kod:
Sub excelKaydet2()

    Module4.Auto_Open
        
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Path = Worksheets("ayarlar").Range("B1").Text
    
    Faturalanan = Worksheets("teklif").Range("F8").Value
    
    teklifno = Worksheets("teklif").Range("S3").Value
    
    Sheets("teklif").Copy
    ActiveWorkbook.SaveAs Path & Faturalanan & "_" & Date & " " & Format(Time, "hh-mm") & ".xlsx"
    
    ActiveWorkbook.Close False
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True

End Sub
 
Bir de kodlarınızı kaydettiğiniz excele aktarmamak için

Kod:
Sub excelKaydet2()

    Module4.Auto_Open
       
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Path = Worksheets("ayarlar").Range("B1").Text
   
    Faturalanan = Worksheets("teklif").Range("F8").Value
   
    teklifno = Worksheets("teklif").Range("S3").Value
   
    Sheets("teklif").Copy
    ActiveWorkbook.SaveAs Path & Faturalanan & "_" & Date & " " & Format(Time, "hh-mm") & ".xlsx"
   
    ActiveWorkbook.Close False
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True

End Sub
Hocam bunu hangi modul e eklemem lazım ?

Bu arada uğraştığınız için Allah razı olsun:)
 
Hocam teklif oluşturduğunuz her kısma ekleyin ben örnek olsun diye Sub PdfKaydet() prosodürüne ekledim
 
Hocam teklif oluşturduğunuz her kısma ekleyin ben örnek olsun diye Sub PdfKaydet() prosodürüne ekledim
Hocam tekrardan merhaba, sayeniz de çok mesafe aldım. Tek bir sorun kaldı onu da halledersek bitireceğim.

Şimdi ben söylediğiniz gibi kodları kaydettiğim sayfa da çalışmaması için verdiğinizi ekledim. O excel dosyasını açtığımda sayı artmıyor fakat kaydetme de çalışmıyor. Çünkü revize edildikten sonra dosya tekrar her 2 formattı kaydetip gönderilmesi gerekiyor.

Sadece o12 yani oto numaralandırma kaydettiğim yerde deaktif olabilir mi ?
 
Gönderilen dosyadan makroları silmeyeceğiz o zaman?
 
Geri
Üst