Açık Excel Varsa Programı Açma

Katılım
19 Eylül 2012
Mesajlar
303
Excel Vers. ve Dili
2010 türkçe
Değerli Excel üstadlarım hepinizi saygı ve sevgiyle selamlarım.

Yapmak istediğim şey;
Örneğin kayıtlı olan bir excel çalışma kitabını açmak istiyorum ancak, eğer önceden açılmış herhangi bir aktif excel dosyası varsa açmak istediğim excel dosyası açılmadan geri kapansın. Böyle bir şey eminim mümkündür.

Şimdiden herkese teşekkür ederim.
 
Son düzenleme:

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
stanart bir module.:cool:
Kod:
Sub auto_open()
If Workbooks.Count > 1 Then ThisWorkbook.Close False
End Sub
 
Katılım
19 Eylül 2012
Mesajlar
303
Excel Vers. ve Dili
2010 türkçe
Sayın hocam ilgi ve alakanız için canı gönülden teşekkür ederim.

Merak ettiğim bir husus da şu; excel'in ilk açılışında ilk önce çalışan "thisworkbook auto_open" modulü mü? yoksa standart modüle deki "auto_open" modülü mü?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,274
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İlk olarak ThisWorkBook kodu çalışır. Sonra Auto_Open modülü devreye girer.
 
Katılım
19 Eylül 2012
Mesajlar
303
Excel Vers. ve Dili
2010 türkçe
________________________
 
Son düzenleme:
Katılım
19 Eylül 2012
Mesajlar
303
Excel Vers. ve Dili
2010 türkçe
stanart bir module.:cool:
Kod:
Sub auto_open()
If Workbooks.Count > 1 Then ThisWorkbook.Close False
End Sub


Sayın hocam verdiğiniz kodlar için tekrar teşekkür ederim.

Yukarıdaki verdiğiniz kodlar ile dosya açılırken o anda başka bir excel açık ise açmaya teşebbüs ettiğiniz dosyayı kapatıyor ve istenilen koşul bu şekilde sağlanmış oluyor.

Peki diyelim ki; "DENEME" adlı bir excel dosyamız var ve bu dosya açık iken yukarıdaki koşuldan sadece bu dosyayı MUAF tutabilir miyiz?
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sayın hocam verdiğiniz kodlar için tekrar teşekkür ederim.

Yukarıdaki verdiğiniz kodlar ile dosya açılırken o anda başka bir excel açık ise açmaya teşebbüs ettiğiniz dosyayı kapatıyor ve istenilen koşul bu şekilde sağlanmış oluyor.

Peki diyelim ki; "DENEME" adlı bir excel dosyamız var ve bu dosya açık iken yukarıdaki koşuldan sadece bu dosyayı MUAF tutabilir miyiz?
Pek açık değil konu.
Diyelim ki 5 dosya açık.Ne olacak.Yoksa bu kodda yazdığımız dosyanın adı DENEME ise mi nasıl pek anlamadım.Ayrıca dosyanın uzantısınıda yazmalısınız.:cool:
 
Katılım
19 Eylül 2012
Mesajlar
303
Excel Vers. ve Dili
2010 türkçe
Sub auto_open()
If Workbooks.Count > 1 Then ThisWorkbook.Close False
End Sub

Evet soru biraz genel olmuş haklısınız. Hocam şöyle anlatayım;

Benim kullandığım iki adet excel dosyası var.
1. dosyanın adı: "GİRİŞLER.xlsm"
2. dosyanın adı: "GÖNDERİ.xlsm"

GİRİŞLER adlı dosyayı açmak istediğimde eğer açık olan herhangi bir excel var ise geri kapansın ki bunu verdiğiniz yukarıdaki kodla sağlamış oldum.

Ancak, GÖNDERİ adlı excel açık iken GİRİŞLER adlı exceli açmak istediğimde açılsın yani yukarıda yazılı olan kod bu dosya için uygulanmasın GÖNDERİ adlı excel yukarıdaki koşuldan muaf olsun. Çünkü ben GÖNDERİ adlı dosyadaki userform üzerinden GİRİŞLER adlı kapalı dosyaya veri gönderiyorum. Yukarıdaki kod benim tam istediğimi yapıyor fakat bu defada diğer (GÖNDERİ) dosyadan veri gönderemiyorum.

Anlatabildim mi bilmiyorum. Yardımlarınız için teşekkür ederim.
 
Son düzenleme:

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
GİRİŞLER.xlsm dosyanıza öncekini silip aşağıdakini yapıştırın.:cool:
Kod:
Sub auto_open()
If ThisWorkbook.Name = "GİRİŞLER.xlsm" Then
    If Workbooks.Count > 1 Then ThisWorkbook.Close False
End If
End Sub
 
Katılım
19 Eylül 2012
Mesajlar
303
Excel Vers. ve Dili
2010 türkçe
İlgilendiniz zaman ayırdınız çok çok teşekkür ederim. :)
 
Katılım
19 Eylül 2012
Mesajlar
303
Excel Vers. ve Dili
2010 türkçe
GİRİŞLER.xlsm dosyanıza öncekini silip aşağıdakini yapıştırın.:cool:
Kod:
Sub auto_open()
If ThisWorkbook.Name = "GİRİŞLER.xlsm" Then
    If Workbooks.Count > 1 Then ThisWorkbook.Close False
End If
End Sub

Sayın hocam biraz eski konu ancak aşağıdaki kodun üzerinde küçük bir değişiklik ihtiyacı hasıl oldu.
Yardımlarınız için şimdiden teşekkür ederim.

Sorun Şu: Aşağıdaki kod bilgisayarın klasör seçeneklerindeki Dosya Uzantıları gizli olduğunda çalışıyor fakat, dosya uzantıları görünür olduğunda GİRİŞLER adlı Excel'i tanımıyor. Ben de aşağıdaki gibi (kalın punto ile belirttim) düzenledim ama yine de olmadı. Yukarıdaki eski mesajlarımda konunun özeti anlaşılmaktadır. Saygılar.


Sub auto_open()
On Error GoTo ERR
For e = 1 To Workbooks.Count
If Workbooks(e).Name = Workbooks("GİRİŞLER").Name Or Workbooks("GİRİŞLER.xlsb").Name Then
Exit Sub
End If
Next
ERR:
If Workbooks.Count > 1 Then
MsgBox "LÜTFEN AÇIK OLAN DİĞER EXCELİ KAPATINIZ", vbExclamation, "HATA"
ThisWorkbook.Close False
Exit Sub
End If
End Sub
 
Üst