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 :)
 

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
455
Excel Vers. ve Dili
2010 Tr
Altın Üyelik Bitiş Tarihi
12-10-2028
Eğer sorunuzu doğru anladıysam;
Auto_open() içerisine ActiveWorkbook.Save eklemeniz yeterli sanırım
 

yusuf1284

Altın Üye
Katılım
17 Ocak 2015
Mesajlar
218
Excel Vers. ve Dili
Office Pro 2016 TR
Altın Üyelik Bitiş Tarihi
09-02-2028
Bu kısma yazmayı denediniz mi?

241912
 
Katılım
12 Kasım 2019
Mesajlar
44
Excel Vers. ve Dili
2007 türkçe
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.
 

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
455
Excel Vers. ve Dili
2010 Tr
Altın Üyelik Bitiş Tarihi
12-10-2028
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.
 

yusuf1284

Altın Üye
Katılım
17 Ocak 2015
Mesajlar
218
Excel Vers. ve Dili
Office Pro 2016 TR
Altın Üyelik Bitiş Tarihi
09-02-2028
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
 

yusuf1284

Altın Üye
Katılım
17 Ocak 2015
Mesajlar
218
Excel Vers. ve Dili
Office Pro 2016 TR
Altın Üyelik Bitiş Tarihi
09-02-2028
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
 
Katılım
12 Kasım 2019
Mesajlar
44
Excel Vers. ve Dili
2007 türkçe
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:)
 

yusuf1284

Altın Üye
Katılım
17 Ocak 2015
Mesajlar
218
Excel Vers. ve Dili
Office Pro 2016 TR
Altın Üyelik Bitiş Tarihi
09-02-2028
Hocam teklif oluşturduğunuz her kısma ekleyin ben örnek olsun diye Sub PdfKaydet() prosodürüne ekledim
 
Katılım
12 Kasım 2019
Mesajlar
44
Excel Vers. ve Dili
2007 türkçe
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 ?
 

yusuf1284

Altın Üye
Katılım
17 Ocak 2015
Mesajlar
218
Excel Vers. ve Dili
Office Pro 2016 TR
Altın Üyelik Bitiş Tarihi
09-02-2028
Gönderilen dosyadan makroları silmeyeceğiz o zaman?
 
Üst