• DİKKAT

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

Soru Makro Kod Hatası Hk.

  • Konbuyu başlatan Konbuyu başlatan likaba
  • Başlangıç tarihi Başlangıç tarihi

likaba

Altın Üye
Katılım
3 Mayıs 2016
Mesajlar
158
Excel Vers. ve Dili
2016 Türkçe
Merhabalar,

Aşağıda ki görsele ait kod, exceli açtığımda çalışıyor fakat exceli kapattığımda hata alıyorum. Bunu nasıl giderebilirim?

İlgili çalışma sayfasında da bu kod yazılı:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True ActiveSheet.Shapes("dash5_ay_bazli_karsilastirilmasi").Visible = ActiveSheet.Shapes("dash5_ay_bazli_karsilastirilmasi").Visible = 0 ActiveSheet.Shapes("dash5_Ay_Bazli_Gosterimi").Visible = ActiveSheet.Shapes("dash5_Ay_Bazli_Gosterimi").Visible = 0 ActiveSheet.Shapes("dash5_Yil_Ortalamasi").Visible = ActiveSheet.Shapes("dash5_Yil_Ortalamasi").Visible = 0 End Sub

213962213963
 
Sarıyla belirtilen nesnenin dosyada bulunmadığına dair hata veriyor anladığım kadarıyla. O isimde nesnenin dosyada bulunduğun emin olun.
 
Sarıyla belirtilen nesnenin dosyada bulunmadığına dair hata veriyor anladığım kadarıyla. O isimde nesnenin dosyada bulunduğun emin olun.
Geri dönüşünüz için teşekkür ederim. Sarı ile belirtilen alan dosyamda var. Sarı ile belirtilen kod ve altında ki 2 kodu kendi aralarında yer değiştirip tekrar denediğimde diğerleri içinde ilk satırda aynı hatayı veriyor.
 
Peki o nesneler o anda açık/aktif olan sayfada mı yoksa başka sayfada mı?
 
Peki o nesneler o anda açık/aktif olan sayfada mı yoksa başka sayfada mı?
Yusuf Bey, neden yaptığını şimdi buldum :) fakat çöüzümü nedir bilmiyorum.

Sayfalar arasında gezinip işlem yapmadan da olsa exceli kapattığımda da bu hatayı alıyorum. Fakat hatayı aldığım sayfada gizli olan grupları çağırıp kapattığımda hatayı almıyorum.
 
Beforeclose koduna önce o nesnelerin bulunduğu sayfaya geçme satırı eklerseniz hata olmaz diye düşünüyorum. O nesneler Rapor sayfasındaysa örnek resimdeki sarı satırdan önce

sheets("Rapor").activate

satırını ekleyip deneyin. (rapor ifadesini dosyanızdaki ilgili sayfa adıyla değiştirmeyi unutmayın.
 
Ya da o kodlardaki Activesheet ifadeleri yerine o sayfanın adını (Sheets("Rapor") gibi) ekleyin.
 
Beforeclose koduna önce o nesnelerin bulunduğu sayfaya geçme satırı eklerseniz hata olmaz diye düşünüyorum. O nesneler Rapor sayfasındaysa örnek resimdeki sarı satırdan önce

sheets("Rapor").activate

satırını ekleyip deneyin. (rapor ifadesini dosyanızdaki ilgili sayfa adıyla değiştirmeyi unutmayın.
Yardımınız için çok ederim Yusuf Bey.

Exceli kapatmadan önce birçok varyasyon denedim hata vermedi.
 
Bu vesileyle hatırlatayım, makrolar, eğer nerede çalışacağı ya da hangi sayfa üzerinde işlem yapacağı/hangi sayfayı kontrol edeceği kod içinde belirtilmemişse her zaman o an açık/aktif olan sayfada çalışırlar. Bu nedenle eğer farklı sayfalarda işlem yapılacaksa ya da makro çalışırken bir şekilde farklı sayfalar aktifleştiriliyorsa o satırın hangi sayfada çalışacağına dair dikkat edilmesi ve gerekirse sayfa adının belirtilmesi gerekmektedir.
 
Bu vesileyle hatırlatayım, makrolar, eğer nerede çalışacağı ya da hangi sayfa üzerinde işlem yapacağı/hangi sayfayı kontrol edeceği kod içinde belirtilmemişse her zaman o an açık/aktif olan sayfada çalışırlar. Bu nedenle eğer farklı sayfalarda işlem yapılacaksa ya da makro çalışırken bir şekilde farklı sayfalar aktifleştiriliyorsa o satırın hangi sayfada çalışacağına dair dikkat edilmesi ve gerekirse sayfa adının belirtilmesi gerekmektedir.
Bilgilendirme için teşekkürler. Bu vesileyle de bende öğrenmiş oldum :)
 
Geri
Üst