T

Çözüldü Sicil değiştiğinde belirli satırdaki bilgilerin silinmesi

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

teyadih

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba arkadaşlar. Açılış sayfası makrosu bulunan ekli çalışma kitabındaki 9 sayfada aşağıda belirttiğim şekilde belirli satırdaki sicil değiştiğinde belirli alandaki bilgileri silecek makroya ihtiyacım var. Aşağıda da görüldüğü üzere her sayfadaki sicil ve silinecek alanlar farklı olduğu için makronun sadece o sayfayı kapsaması gerekiyor. İntibak-SGK sayfası için örnek yapıldığında ve nasıl uygulanacağı belirtilirse diğer sayfalar için ben uygulayabilirim. Şimdiden teşekkür ederim.

İntibak-SGK sayfasında U6 satırındaki sicil değiştiğinde U7-U9 arasındaki renkli satırdaki bilgilerin silinmesi

Doğum Öncesi sayfasında O7 satırındaki sicil değiştiğinde O9-O14 arasındaki renkli satırdaki bilgilerin silinmesi

Doğum Sonrası sayfasında O4 satırındaki sicil değiştiğinde O5-O12 arasındaki renkli satırdaki bilgilerin silinmesi

Asker Ayrılış-Başlayış sayfasında H2 satırındaki sicil değiştiğinde H3-H6 arasındaki renkli satırdaki bilgilerin silinmesi

Ücretsiz İzin (Doğum) sayfasında H2 satırındaki sicil değiştiğinde H3-H6 arasındaki renkli satırdaki bilgilerin silinmesi

Ücretsiz İzin (Diğer) sayfasında H2 satırındaki sicil değiştiğinde H3-H6 arasındaki renkli satırdaki bilgilerin silinmesi

Ücretsiz İzin (Başlayış) sayfasında U6 satırındaki sicil değiştiğinde U7-U14 arasındaki renkli satırdaki bilgilerin silinmesi

İşçi Yarı Zamanlı sayfasında B3 satırındaki sicil değiştiğinde B5-B10 arasındaki renkli satırdaki bilgilerin silinmesi

İşçi İstifa sayfasında O2 satırındaki sicil değiştiğinde O3-O7 arasındaki renkli satırdaki bilgilerin silinmesi
 

Ekli dosyalar

@teyadih

ThisWorkbook (BuÇalışmaKitabı) bölümüne aşağıdaki kodu yapıştırın.

Diğer sayfalar için de benzer şekilde If ... End If bloklarını ekleyin.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(14 satır)
 
Uyguladım ama olmadı sayın Baran. Sanırım bir yerlerde hata yapıyorum. Size zahmet ilk 2 sayfa için yazdığınız makroyu ekleyip gönderebilir misiniz? örnek dosyayı. Diğer sayfaları ben tamamlarım
 
@teyadih

Sanırım; verdiğim makro ile sayfalarda bulunan ayrı ayrı düğmeleri ilişkilendirerek kullanmaya çalıştınız.

Oysa; verdiğim yöntem şöyle idi: verdiğim kod BuÇAlışmaKitabı (ThisWorkbook) alanına uygulanacak,
ilgili sayfada kriter hücre içeriği silindiğinde de kod otomatik olarak çalışıp, kendi sayfasındaki hedef alan içeriklerini otomatik silecek. Düğme kullanılmayacak.

Verdiğim kod, iki sayfadaki işlem için sorunsuz (olduğu gibi) kullanılabilir durumda.
Diğer sayfalar için ek If .... End If bloklarını, mevcut olanlardan birini kopyalayıp,
kopyalanan satırlarda o sayfanın adı, kriter hücre ve hedef hücre adreslerini düzelterek çoğaltabilirsiniz.

Örneğin (verdiğim haliyle);
-- İntibak-SGK sayfası için U6 içeriğini sildiğinizde, aynı sayfadaki U7:U9 alanı otomatik olarak silinir.
-- Doğum Öncesi sayfası O7 silindiğinde aynı sayfadaki O9:O14 alanı otomatik olarak silinir.
 
Merhaba sayın Baran düğme eklemeden BuÇalışmaKitabı (ThisWorkbook) alanındaki açılış sayfası makrosunun altına ekledim. Ancak error hatası veriyor. Bir yerde hata yapıyorum ama, Makroyla ilgili pek bilgim olmadığı için çözemedim.
 

Ekli dosyalar

@teyadih

Eklediğiniz son belgede End Sub satırının hemen üstünde bir End If satırı eksik kalmış (verdiğim cevaptan eksik kopyalamışsınız) .
Benim cevabımda verdiğim kodu olduğu gibi kopyalayıp kullanabilirsiniz.
Verdiğim cevaptaki kodda '...... şeklinde gördüğünüz satırların bir işlevi/etkisi/sakıncası yok. Zira sol başlarında TEK TIRNA işareti var.

Neticede, End Sub satırının üstüne, her bir sayfa için aşağıdaki 5 satırı kopyalayıp kırmızı kısımları değiştireceksiniz o kadar.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(5 satır)


Ayrıca bir not: Workbook_Open kodunun içindeki tem satırın sonundaki ...Activate kısmını ....Select olarak değiştirmenizde yarar var.

.
 
@teyadih
Görebildiğim kadarıyla üç yerde sorun var.
Bunların da ikisi birleştirilmiş hücre şeklindeki kriter hücre adresleri ve silinecek alan adresleri,
bir tanesi de hatalı yazım gibi görünüyor.

Kırmızı işaretlediğim kısımları düzeltip tekrar test edersiniz.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(9 satır)
 
Merhaba sayın Baran yukarda bahsettiğiniz alanları düzelttim diğer sayfaları da kontrol ettim ama maalesef yine çalıştıramadım. Buçalışma kitabını açtığımda makro gözüküyor ama Geliştirici/Makrolar sekmesine tıkladığımda makro göstermiyor. Bu nedenle olabilir mi acaba?
 
Kodda tekrar küçük düzenleme yaptım ve belgeye uyguladım. Belge ekte @teyadih
Bu tür kodları GELİŞTİRİCİ >> MAKROLAR şeklinde göremezsiniz.
VBA ekranını açın (ALT+F11) ve sol taraftaki AĞAÇ görünümünden BuÇalışmaKitabı (ThisWorkbook) bölümüne bakın.
 

Ekli dosyalar

  • Image 4.webp
    Image 4.webp
    11.5 KB · Görüntüleme: 3
Teşekkür ederim sayın Baran elinize sağlık. Hakkınızı helal edin yordum sizi. Şimdi fark ettim ben sicil değiştiğinde ilgili alanların temizlenmesini istediğimden sicili değiştiriyorum ve olmuyor diyordum ancak sicili olan satırdaki bilgiyi sildiğimizde temizliyormuş ilgili alanları.
Eğer sizi yormayacaksam sicil olan satırdaki bilgiyi sildiğimizde değil de sicili değiştirdiğimizde örnek 10 olanı 20 yaptığımda ilgili alanları temizletebilir miyiz?
 
O zaman kodlardaki kırmızı işaretli kısımları (tüm satırı değil Then kelimesi dahil sol tarafı) silerek deneyin.
Her bir sayfaya ait satırlarda tabii ki.
If Not Intersect(...........Is Nothing Then
If .....Value = Empty Then Sheets("......ClearContents
End If
 
Üst