"Kaydet ve kapat" komutu hakkında yardım...

Katılım
2 Nisan 2005
Mesajlar
191
Excel Vers. ve Dili
Office 2007 English
Herkese selamlarımı sunuyorum;

Daha önceden hazırladığım bir şablondan (.xlt) her defasında boş veri içeren yeni excel dosyaları oluşturuyorum. Bu dosyalarda User form her açılışta aktif oluyor. üzerinde değişik komutları gerçekleştiğim düğmeler var. Bu düğmelerden biri de "Kaydet ve Kapat" düğmesi. Bu düğmenin kodlarını aşağıdaki gibi yaptım ama dosyayı daha önce kaydetsem de Farklı Kaydet diyalog penceresi her defasında aktif oluyor.
kodlar şöyle:

If Not ActiveWorkbook.Saved Then
Application.Dialogs(xlDialogSaveAs).Show
Else
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.Quit
End If

Ben istiyorum ki, "Kaydet ve Kapat" tuşuna tıkladığımda eğer dosyam hiç kaydedilmemiş ise Farklı Kaydet diyalog kutusu karşıma gelsin. Yok dosya daha önce kaydedilmiş ise kaydetsin ve dosyayı kapatsın. Kodları nasıl düzenlemem gerektiğinde yardımcı olursanız çok memnun olurum.
Teşekkürler...
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Yeni bir excel belgesi oluşturduğunuzda adı varsayılan olarak 'Kitap1' gibi isimler alır. Değişiklik yapıp, sadece KAYDET deseniz bile, yeni oluşturulmuş bir kitap olduğu için, varsayılan dışında bir isim vermeniz için size FarklıKaydet penceresi açar.

Bu yüzden, oluşturduğunuz belgeyi makro ile kaydedip kapatmak istediğinizde, oluşturduğunuz dosyaya bir isim ve kaydedilecek bir yer tayin etmiş ve öyle kaydetmiş olmanız gerekmektedir.

Bir diğer mesele, form açıkken yeni excel belgesi oluşturduğunuzda, yine sizin asıl excel dosyanız faal hale geliyor olabilir. O yüzden kaydet dediğinizde muhtemelen, siz yeni belgeyi değil, asıl dosyanızı kaydediyorsunuzdur.

Çözümü bunlardan hareketle aramalısınız. Forumda örnekleri mutlaka vardır. Eğer, oluşturduğunuz dosyalar için bir yer ve isim (günün tarihi gibi) belirlerseniz yardımcı olmaya çalışalım.
 
Son düzenleme:
Katılım
2 Nisan 2005
Mesajlar
191
Excel Vers. ve Dili
Office 2007 English
Asıl belge (şablon) değil yeni bir belge oluşuyor. Excel'in kendi "kaydet" düğmesine bastığımda Farklı Kaydet diyalogu karşıma geliyor. Araç çubuklarını gizleyerek tam ekran çalışıyorum. Bu yüzden userform üzerine "Kaydet ve Kapat" butonu eklemiştim. Buraya örnek eklemek isterdim ama dosyanın boyutu limitlerin hayli üzerinde. Acaba çalışma kitabı adı "kitap1.xls" ise farklı kaydet diyalogunu aç desek olur mu? Bilemiyorum. Eve gidince denemem lazım.
 
Katılım
2 Nisan 2005
Mesajlar
191
Excel Vers. ve Dili
Office 2007 English
kodları şu şekilde yaptım oldu sanki...

Sub kapat()
If ActiveWorkbook.FullName = "Kitap1" Then
Application.Dialogs(xlDialogSaveAs).Show
ActiveWorkbook.Close
Else
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.Quit
End If
End Sub

üstatlar eksiklik olup olmadığını söylerse memnun olurum. teşekkürler.
 
Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
Arkadaşlar benim bir sorum var.. gerçi bu sıralarda çok soru yazdım ama 3 te birine bile hala cevap almış değilim....Umarım buna alırım....

Benim excel dosyam kapatırken KAYIT EDİLSİN Mİ diye sormasını evet derse kaydetmesini hayır dersede direk olarak "EXCELİN KAPANMASINI" istiyorum. Ben aşağıdaki kodu kullanıyorum ama sormadan kaydediyor ve kapatıyor.. Lütfen gerekli düzeltmeleri nasıl yaparım bu konuda yardımcı olun...

Sub Auto_Close()

Sheets("ANA SAYFA").Select
Range("G8").Select
Range("G8").Select

ActiveWorkbook.Save

MsgBox "Programı Kullandığınız İçin Teşekkür Ederiz"

Application.DisplayFullScreen = False

ActiveWorkbook.Close
End Sub
 
Katılım
21 Ağustos 2005
Mesajlar
625
Excel Vers. ve Dili
Office 365 - İngilizce
Kaydet komutuna aşağıdaki komutları yapıştırın.

Kod:
Private Sub CommandButton1_Click()
cvp = MsgBox("Kaydetmek İstiyormusunuz ?", vbYesNo)
If cvp = vbNo Then
ActiveWorkbook.Close Saved = True
Else
ActiveWorkbook.Close Saved = False
End If
End Sub
 
Katılım
21 Ağustos 2005
Mesajlar
625
Excel Vers. ve Dili
Office 365 - İngilizce
Userformun üzerindeki çıkış butonuna çift tıklayıp açılan pencereye yapıştıracaksın.
 
Katılım
21 Ağustos 2005
Mesajlar
625
Excel Vers. ve Dili
Office 365 - İngilizce
Arkadaşlar benim bir sorum var.. gerçi bu sıralarda çok soru yazdım ama 3 te birine bile hala cevap almış değilim....Umarım buna alırım....

Benim excel dosyam kapatırken KAYIT EDİLSİN Mİ diye sormasını evet derse kaydetmesini hayır dersede direk olarak "EXCELİN KAPANMASINI" istiyorum. Ben aşağıdaki kodu kullanıyorum ama sormadan kaydediyor ve kapatıyor.. Lütfen gerekli düzeltmeleri nasıl yaparım bu konuda yardımcı olun...
Sayın Crayzloveis bence siz yukarıda yazdığınız kodların tamamını silin. İstediğiniz şeyi dosyayı kapatırken excel zaten kendisi soruyor.Bunun için birdaha uyarı ekranına gerek yokki.

Silin kodları olsun bitsin.
 
Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
Sayın Crayzloveis bence siz yukarıda yazdığınız kodların tamamını silin. İstediğiniz şeyi dosyayı kapatırken excel zaten kendisi soruyor.Bunun için birdaha uyarı ekranına gerek yokki.

Silin kodları olsun bitsin.
sayın mestuttasar öncelikle önerin için tşk ederim. Yeni bir şeyler öğrenlmk istedim ama karşılığında önce yardım ettin sonra da fırça atar gibi kodları sil vs. dedin. Evet soru senin için biraz kolay ve saçma gelebilir ama bilmeyenler için öyle değil....

Örnek verecek olursa excelin çıkışta kaydedip edilmeyeceğini bende biliyorum. Ona bakıyorsan yazıyıya gönderme tuşuda var ama forumda yazıcıya gönderme ile ilgili yüzlerce konu var.....Yine aynı şekilde excel de dosyaya şifre koyma özelliği var ama yine herkes bununla ilgili bir sürü soru sormuş ve sende dahil herkes buna cevap vermiş bununla ilgili bir sürü kod yayınlanmış...

Size göre basit olan bir konu başkaları için yeni bir başlangıç olabilir
 
Katılım
21 Ağustos 2005
Mesajlar
625
Excel Vers. ve Dili
Office 365 - İngilizce
sayın mestuttasar öncelikle önerin için tşk ederim. Yeni bir şeyler öğrenlmk istedim ama karşılığında önce yardım ettin sonra da fırça atar gibi kodları sil vs. dedin. Evet soru senin için biraz kolay ve saçma gelebilir ama bilmeyenler için öyle değil....

Örnek verecek olursa excelin çıkışta kaydedip edilmeyeceğini bende biliyorum. Ona bakıyorsan yazıyıya gönderme tuşuda var ama forumda yazıcıya gönderme ile ilgili yüzlerce konu var.....Yine aynı şekilde excel de dosyaya şifre koyma özelliği var ama yine herkes bununla ilgili bir sürü soru sormuş ve sende dahil herkes buna cevap vermiş bununla ilgili bir sürü kod yayınlanmış...

Size göre basit olan bir konu başkaları için yeni bir başlangıç olabilir
Beni tamamen yanlış anladığınıza üzüldüm gerçekten.Alınacağınızı bilsem daha dikkatli seçerdim kelimelerimi.Burada kimseyi azarlama yada küçük görme gibi bir davranışım olmaz ve olamaz da. Ben sadece son mesajınızı dikkatle okuyunca ona cevap verdim. Bilmeden kırdıysam özür dilerim.

Ayrıca burada ben bir soruyu yanıtlamaya çalışırken bende birşeyler öğreniyorum o yüzden yazdıklarımı yanlış anlamayın lütfen.
 
Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
Kardeş sanırım ufak bir yalnış anlaşılma oldu.... Kusura bakma hakkını helal et..
 
Üst