Close/Quit Sorunu

Katılım
6 Aralık 2021
Mesajlar
38
Excel Vers. ve Dili
Excel2016
Türkçe
Merhaba dostlar.

7 aydır VBA ögreniyorum. Kendi çapımda birden çok program yaptım ve VBA dilini güzel bir şekilde öğrendim. Fakat bunca süredir çözemediğim bir sorun var. Bu sorunu sizlere örnekle anlatıcam. (Şirket dosyası olmasından dolayı paylaşıma açamıyorum)


UserForm üzerinde butona tıkladığımda başka bir çalışma kitabını açıyor. Bu çalışma kitabındada şöyle bir makro var, bu çalışma kitabı açıldığında sayfa1 i yazdırıyor, çalışma kitabını kaydediyor ve ThisWorkbook.close ile kitabı kapatıyor ve tekrar UserForm a dönüş yapması gerekiyor. Fakat diğer excel çalışma kitabınıda kapatıyor ve UserForm da kapanıyor. Exceli tekrar açtıgımda ise "bu çalışma kitabı zaten açık" diyor. Yani aslında arka planda gizliyor.

Sorum: Hangi kod ile istediğim çalışma kitabını tamamen kapatabilirim( diğer çalışma kitabı bundan etkilenmiycek, sadece istediğim çalışma kitabı kapancak)

/ThisWorkBook.Close
/Application.Quit
Bu kodlar kapatıyor fakat tüm exceli kapatıyor ve yeniden açtığımda "Bu çalışma kitabı zaten açık" uyarısını veriyor.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
7 ayda öğrendiyseniz valla bravo.... ben yaklaşık 20 yıldır doğru dürüst öğrenemedim.

.
 
Katılım
6 Aralık 2021
Mesajlar
38
Excel Vers. ve Dili
Excel2016
Türkçe
7 ayda öğrendiyseniz valla bravo.... ben yaklaşık 20 yıldır doğru dürüst öğrenemedim.

.
Tabiki 100% öğrenemedim. Ama tek başıma güzel programlar yazabiliyorum. Veya güzel bir proje çıkarabiliyorum. Excel benim için bir hobi. Resmen evren gibi, her noktasında birsürü fikir ve olay var
 

Cengiz Demir

Altın Üye
Katılım
29 Haziran 2018
Mesajlar
605
Excel Vers. ve Dili
Office 365 TR (32 Bit)
Altın Üyelik Bitiş Tarihi
05-04-2025
Workbooks("Kitap1").Close koduyla dosya ismi belirterek denediniz mi ?

Ayrıca Application.Quit ile de excelden çıkış yapıyor. Bu kod da makronuzda varsa. Excel'in kapanması normal.
 
Katılım
6 Aralık 2021
Mesajlar
38
Excel Vers. ve Dili
Excel2016
Türkçe
Workbooks("Kitap1").Close koduyla dosya ismi belirterek denediniz mi ?

Ayrıca Application.Quit ile de excelden çıkış yapıyor. Bu kod da makronuzda varsa. Excel'in kapanması normal.
Application.Quit kodu hakkındaki sorunum şu
Çıkış yapıyor evet, ama ben exceli tekrar açınca "Bu dosya zaten açık" diyor.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Cengiz Bey bu kodu (Application.Quit) kullanmamanız gerektiğini anlatmak istemiş zaten.
 

Cengiz Demir

Altın Üye
Katılım
29 Haziran 2018
Mesajlar
605
Excel Vers. ve Dili
Office 365 TR (32 Bit)
Altın Üyelik Bitiş Tarihi
05-04-2025
Sorunuzu sorarken biraz karmaşık sormuşsunuz.
Sorununuz açık olan kitaplardan istediğinizi kapatamamanız mı ? Yoksa başka bir şey mi ?
Eğer sorununuz yada sorunlarınızdan birisi oysa. Benim önerdiğim kodla çözebilirsiniz.

Diğeri hakkında pek bilgim yok. Excelde ki bir eklenti nedeniyle sorun oluyor olabilir.
İşyeri bilgisayarımda bazı dosyaların arka planda açık kalma sorununu ben de yaşıyorum.
Nedeni ise Titus KVKK eklentisi.
Bu eklenti aktiften makro işlemler yavaşladığı gibi;
SAP' da makro ile oluşturulan excel görünümleri tam olarak kapanmıyor ve excelin performansı çok düşüyor.
(vba editörden açınca görünüyor fakat dosyaların kendileri görünmüyor.)
Yani eklentilerinizi teker teker devre dışı bırakıp deneyin isterseniz.


Application.Quit kodu hakkındaki sorunum şu
Çıkış yapıyor evet, ama ben exceli tekrar açınca "Bu dosya zaten açık" diyor.
 
Katılım
6 Aralık 2021
Mesajlar
38
Excel Vers. ve Dili
Excel2016
Türkçe
Cengiz Bey bu kodu (Application.Quit) kullanmamanız gerektiğini anlatmak istemiş zaten.
Application.Quit Exceli tamamen kapatan bir kod. Fakat ben bu kodu kullanmama rağmen Exceli yeniden açınca bu excelin zaten açık olduğunu söylüyor. Yani aplikasyonu kapatmak yerine gizliyor
 

Cengiz Demir

Altın Üye
Katılım
29 Haziran 2018
Mesajlar
605
Excel Vers. ve Dili
Office 365 TR (32 Bit)
Altın Üyelik Bitiş Tarihi
05-04-2025
Böyle bir kod buldum. Denedim exceli kapatıyor.
Tam emin olmamakla birlikte; exceliniz 64 bit ise Win32_Process 'i Win64_Process olarak değiştirmeniz gerekebilir.

Farklı bir yöntemle (görevi sonlandır tarzı olabilir.) sonlandırdığı için;
muhtemelen kayıt edilmemiş verileriniz vb. varsa, onlar kaydedilmeden excel sonlanacaktır.
Makronuzu buna göre düzenlersiniz.


C++:
Sub excelkapat()
    
Dim oServ As Object
Dim cProc As Variant
Dim oProc As Object

Set oServ = GetObject("winmgmts:")
Set cProc = oServ.ExecQuery("Select * from Win32_Process")

For Each oProc In cProc

    'Rename EXCEL.EXE in the line below with the process that you need to Terminate.
    'NOTE: It is 'case sensitive

    If oProc.Name = "EXCEL.EXE" Then
      'MsgBox "KILL"   ' used to display a message for testing pur
      oProc.Terminate  'kill exe
    End If
Next

End Sub
Kod:
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
İlk mesajınızda istediğiniz kitabın kapatılmasını ama diğerlerinin kapatılmamasını istediğinizi belirtmiştiniz. Application.quit kullanmayınca istediğiniz olmuyor mu?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Anlaşamıyoruz. Sadece kullandığınız dosyanın kapatılması için Appllication.Quit satırını iptal etmeyi denediniz mi?
 
Üst