• DİKKAT

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

Kodun Bulunduğu Excel Dışındaki Excel Dosyalarını Kapatma

Katılım
3 Haziran 2017
Mesajlar
797
Excel Vers. ve Dili
2007, 32
Arkadaşlar,

Kullandığım "X" isimli dosyasının içine öyle bir kod atmak istiyorum ki X isimli excel dosyası dışındaki tüm excel dosyalarını kapatsın.

Bu mümkün mü acaba?
 
Kod:
Sub xlTR_t165645_kodun_bulundugu_haric_tum_dosyalari_kapat()

    Dim wb As Workbook
    
    For Each wb In Workbooks
        If wb.Name <> ThisWorkbook.Name Then
            wb.Close SaveChanges:=True 'değişiklikleri kaydetmeden kapatmak için TRUE yerine FALSE yazılmalı
        End If
    Next wb

End Sub
 
Kod:
Sub xlTR_t165645_kodun_bulundugu_haric_tum_dosyalari_kapat()

    Dim wb As Workbook
    
    For Each wb In Workbooks
        If wb.Name <> ThisWorkbook.Name Then
            wb.Close SaveChanges:=True 'değişiklikleri kaydetmeden kapatmak için TRUE yerine FALSE yazılmalı
        End If
    Next wb

End Sub


Hocam bu kodun kendiliğinden, kendi dışında açık excel dosyalarını algılayıp kapatması için nereye monte edilmesi gerekir acaba?

Workbook Actiavite olayına mı yazmak lazım?
 
Çok teşekkür ederim.
Paşa bir kod oldu, kendi dışındakileri süpürüyor. :)

Kod:
Private Sub Workbook_Activate()
 Dim wb As Workbook
    
    For Each wb In Workbooks
        If wb.Name <> ThisWorkbook.Name Then
            wb.Close SaveChanges:=True 'değişiklikleri kaydetmeden kapatmak için TRUE yerine FALSE yazılmalı
        End If
    Next wb
End Sub
 
rica ederim.

ben normal bir kod modülüne kopyalar, gerektikçe çalıştırırdım.
yanlışlıkla bu dosya aktif hale getirilir ise istek dışı tüm dosyaları kapatır çünkü.
 
rica ederim.

ben normal bir kod modülüne kopyalar, gerektikçe çalıştırırdım.
yanlışlıkla bu dosya aktif hale getirilir ise istek dışı tüm dosyaları kapatır çünkü.

Hocam benim program başka excel açık olunca sapıtıyor, bu kod onun için.
 
Benzer bir problemim var. Makro çalıştığı dosyanın bir sayfasına gitmesi gerekiyor. Ancak eğer başka açık bir excel dosya varsa gideceği sayfayı bulamıyor. Bu kodu diğer dosyaları kapatmadan kodun bulunduğu dosyayı aktive etmesini nasıl sağlarız.
 
Örnek dosya ekleyebilir misiniz.
 
Örnek dosya ekleyebilir misiniz.

Private Sub CommandButton1_Click()


'Eğer başka bir excel dosya açık ise burada hata veriyor. Yani Buradaki kod çalıştığında Verilen Malzeme sayfasını bulamıyor. Tek program açıkken sorun yok. Buraya bu makronun bulunduğu dosyayı aktive eden bir kod yazmam gerekiyor.

Sheets("Verilen Malzeme").Select
Range("A2").Select

Cells(65536, "A").End(xlUp).Offset(1, 0) = TextBox5.Value
ActiveCell.End(xlDown).Offset(0, 1) = ComboBox1.Value
ActiveCell.End(xlDown).Offset(0, 2) = TextBox1.Value
ActiveCell.End(xlDown).Offset(0, 3) = TextBox2.Value
ActiveCell.End(xlDown).Offset(0, 4) = ComboBox2.Value
ActiveCell.End(xlDown).Offset(0, 5) = TextBox6.Value
ActiveCell.End(xlDown).Offset(0, 6) = TextBox7.Value
MsgBox "Girişleriniz başarıyla kaydedildi.", , "BMutlu"
Unload UserForm1
UserForm1.Show

End Sub
 
ActiveWorkbook.Sheets("Verilen Malzeme").Select şeklinde deneyin.
 
Ya da ThisWorkbook.Sheets("Verilen Malzeme").Select şeklinde.
 
ActiveWorkbook.Sheets("Verilen Malzeme").Select şeklinde deneyin.

Bu kod olmadı.

Programımı çalıştırdığımda

Application.Visible = False
UserForm1.Show

kodu ile excel kayboluyor ve form açılıyor. Form üzerinden bilgiler doldurulup kaydet tuşuna basıldığında yukarıdaki kodlar çalışıyor ve "Verilen Malzeme" sayfasına bu bilgileri yazıyor.
Başka bir excel dosyası açık değilken program hatasız çalışıyor. Ancak başka excel dosyası açık ise sayfayı bulamadığı için hata veriyor.
Buraya yazacağımız kod şunu yapmalı.

Açık olan excel dosyalarından şu (benim dosyamın ismi) isimli dosyayı seç veya aktive et.

Şimdiden yardımlarınız için teşekkürler.
 
Aşağıdaki kod ile halloldu.

Workbooks("Kirtasiye_Stok takip.xlsm").Activate

Sheets("Verilen Malzeme").Select
Range("A2").Select
 
Geri
Üst