Sadece Dosyadan Seçilen Resimleri Silmek

  • Konuyu başlatan Konuyu başlatan Hsn55
  • Başlangıç tarihi Başlangıç tarihi

Hsn55

Yasaklanmış
Katılım
28 Tem 2022
Mesajlar
64
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhabalar; ekli dosyada ki resim butonunu tıkladığımda seçmiş olduğum 1 veya 1 den fazla resim birleştirilerek ana sayfa ve resim sayfasına geliyor. Tekrar resim butonundan resim seçip eklediğimde bir önceki eklenen resimleri ve sayfalardaki (anasayfa ve resim) tüm image nesnelerini de siliyor. Benim istediğim resim eklediğimizde bir önceki eklenen resimlerin silinmesi sayfadaki diğer resimlerin kalması .Şimdiden yardımlarınız için teşekkür ederim.
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(64 satır)
 

Ekli dosyalar

@Hsn55

Mevcut resimlerin / şekillerin silinmesini sağlayan kod satırlarında,
nesnelerin isimleri kontrol edilerek, kodda istisna olarak belirtilecek olanların silinmesi engellenebilir.

VBA:
İndirmek için giriş yapmanız gerekmektedir.
(13 satır)
 
Sayın Ömer hocam çok teşekkür ederim. Gayet güzel olmuş .Ellerinize sağlık. Şöyle bir dosyam daha var Userform1 deki buton ile dosyadan resim seçtiğimde yine resimler hem userforma, kadastro ve resim sayfasına geliyor. Kadastro ve Resim sayfasındaki resim nesnelerinin tümü siliniyor. Yine önceki mesajımda ki gibi sadece dosyadan eklemiş olduğum bir önceki resimler siline bilir mi?
 

Ekli dosyalar

Kodlar aynı zaten
If .... Delete satırlarında, silinmeyecek nesnelerin isimlerini aynı şekilde eklemenizin yeterli olması gerekir gibi görünüyor.
Denersiniz.
 
@Hsn55
Aynı şekilde, MODULE1'deki kodda yeşil kısımları ekleyerek (sayfadaki silinmeyecek nesne isimlerine göre) deneyin.

VBA:
İndirmek için giriş yapmanız gerekmektedir.
(5 satır)
 
Ömer bey ekli resimdeki yerde hata verdi
Ekran Alıntısı.webp
 
Aynı nesnelerin mevcut olduğunu varsaymıştım.
Sayfalarda, silinmemesi gereken nesneyi fareyle seçtiğinizde, formül çubuğunun sol tarafındaki alanda nesnenin adını göreceksiniz.
Bu isimleri bir kenara not edin ve kodda bu istisna nesnelerin isimlerini kullanın.
 
Ben daha silinmemesi gereken nesneler ekleyeceğim. Her nesne eklemede kodu yeniden düzenlemek mi gerekiyor. Bunun başka bir yolu yok mu?
 
Dikkatimden kaçmış; bahse konu kod satırlarından ikincisinde,
ilgili kısımların Pic.Name değil Pic2.Name olarak yazılması lazım.
 
Ömer bey hocam kodları uyguladım. Fakat resim ve kadastro sayfasında 5 ve 9 isimli resimleri yine siliyor
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(75 satır)
 

Ekli dosyalar

Ben daha silinmemesi gereken nesneler ekleyeceğim. Her nesne eklemede kodu yeniden düzenlemek mi gerekiyor. Bunun başka bir yolu yok mu?

@Hsn55

Çözüm:

Silinmemesi gereken nesnelerin adlandırılmasında belli bir düzen oluşturmak.
Böylece, kodda yeniden ve yeniden düzenleme yapmak zorunda kalmazsınız.

Silinmemesi gereken nesnelerin tümünü XD_karar, XD_1, XD_logo gibi bir düzende adlandırın
(nesne adlandırma: adlandırılacak nesne seçiliyken formül çubuğunun solundaki alana standarda uygun ismi yazıp ENTER tuşuna basılır) .

VBA:
İndirmek için giriş yapmanız gerekmektedir.
(9 satır)
 
Ömer bey merhabalar;
Yapmış olduğunuz makroyu dosyama uyarladım. Userform1 üzerinde bulunan ResimAl butonu ile Userform1 üzerine ayrıca Harita ve ResimZabıt sayfalarına seçilen resimleri alıyoruz. Düzenlemiş olduğunuz makro ile sayfalarda bulunan "XD" isimli resim harici olanlar siliniyor. Fakat Userform1 de resim al dediğimde örnek olarak eklediğim resimde kayboluyor. Aynı şekilde Userform1 de de resim aldığımda silinmesini istemediğim resimler harici tutulabilir mi?
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(73 satır)
 

Ekli dosyalar

Sayın @Hsn55

UserForm üzerindeki nesneler (resimler), sayfadaki gibi SHAPE statüsünde değil, IMAGE nesnesi ve olay tamamen farklı.
Şu an değil ama uygun vakit dosyanıza bakmaya çalışırım.

.
 
@Hsn55
İsteğinizi tam anlayamamış olabilirim.

Önce temel kararlarınızla ilgili fikrimi belirteyim.
Tek bir makro kodu kullanarak, bununla hem sayfadaki hem de userform üzerindeki nesneleri yönetmek bana doğru gelmiyor.
UserForm'daki CommandButton sadece userform üzerindeki işlemleri yönetmeli, sayfa(lar) üzerindeki nesnelerle ilgili işlemler için ayrı makro kodları olmalı aslında.

Her neyse; UserForm üzerindeki resimlerin hiçbiri esasında silinmiyor,
sadece işlem kodlarının baş tarafında yer alan aşağıdaki kod satırlarıyla bu nesnelerin ...Visible özelliği FALSE olarak değiştiriliyor.
yani işlem silme değil, görünmez yapma işlemi, yoksa resim vs UserForm üzerinde duruyor.

VBA:
İndirmek için giriş yapmanız gerekmektedir.
(5 satır)

Görünmesi engellenen bu nesneler için de sayfadaki nesnelerde olduğu gibi isim üzerinden gidilerek,
örneğin, doğa manzarası resminin olduğu Image nesnesinin adı Image21, bunun hep görünür kalması için;
yukarıdaki If Type.... satırında Then ibaresinin önüne yukarda yeşil renklendirğim kısmın eklenmesi yeterlidir.

Başka nesne için de ekleme yapmak isterseniz, eklediğim kısımla Then ibaresinin arasına
AND nesne.Name <> "Image9999" diye ekleme yaparak başka nesnenin de hep görünür olmasını sağlayabilirsiniz.

İsteğiniz bundan mı ibarettir, resim işlemiyle ilgili başka soru/sorun var mıdır?

.
 
Hocam merhabalar;
Uyguladım. Fakat birden fazla resim ekleyip, daha sonra ise tek resim eklediğim zaman diğer eklediğim resimleri silmesi gerekirken onlar kalıyor.
 
@Hsn55
Silinmemesi gereken nesnenin ismi sabit ve
bu nesne adını da kodda belirttiğim yere, belirttiğim şekilde eklemişseniz sorun yaşanmaması gerekir.

.
 
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst Alt