Bir Hücreye Veri Girildiği Zaman Diğer Hücreleri Silme

Katılım
15 Mayıs 2011
Mesajlar
16
Excel Vers. ve Dili
Ofis 365 TR
Merhaba arkadaşlar,

Bir konuda yardımıza ihtiyaç duydum, eğer yardımcı olursanız çok memnun olacağım.

Günlük geniş kapsamlı bir rapor tutuyorum kendime, bu raporun personel kısmında gelen izinli raporlu personelleri ayrıştırmaya çalışıyorum. Tabi bu raporu her gün bir önceki rapordan kopya alarak veri güncellediğim için dalgınlıktan kaynaklı hataların önüne geçmeye çalışıyorum. Personel sayısı günlük değişken oluyor araya taşeron firmalar falan giriyor gibi.

Sorunumu anlatmaya çalışayım.


yukarıdaki gibi bir tablo oluşturdum kendime.
eklemek istediğim özellik ise Örneğin Bugün Mühendis Mustafa çalışıyor muhasebeci ali izinli. Yarın Alinin izini bitecek ve Mühendis Mustafa izine ayrılacak diyelim. Ben bugünkü raporun kopyasını alıp ertesi gün için güncellerken. Mühendis Mustafayı izinli hücresine "x" işareti koyduğumda Çalışan hücresindeki "x" işaretini otomatik silsin. Muhasebeci ali iş başı yaptığı zaman çalışan kısmına "x" işaretini koyduğumda (veya herhangi bir yazı girdiğimde) izinli kısmındaki işareti otomatik silsin ki aynı personeli iki defa saymasın istiyorum. Bazen dalgınlık olabiliyor elle düzeltmeyi unutabiliyorum.

Roporlu izinli ve çalışan hücreleri arasında böyle bir bağlantı oluşturmak istiyorum bunlardan herhangi bir hücreyi herhangi bir yazı metin yazdığım zaman diğer iki bölümdeki verileri otomatik silmesini sağlayabilir miyim.

Umarım derdimi anlatabilmişimdir. Eğer yardımcı olursanız çok minnettar olurum. Şimdiden çok çok teşekkür ediyorum.
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Intersect(Target, [C6:H1000]) Is Nothing Then Exit Sub
    
    Application.EnableEvents = False
    s = Target.Column
    sa = Target.Row
    
    If s = "3" Then Range("E" & sa & ":I" & sa) = ""
    If s = "5" Then Range("C" & sa & ":D" & sa) = "": Range("H" & sa & ":I" & sa) = ""
    If s = "8" Then Range("C" & sa & ":G" & sa) = ""
    Application.EnableEvents = True
    
End Sub
. . .
 
Katılım
15 Mayıs 2011
Mesajlar
16
Excel Vers. ve Dili
Ofis 365 TR
Hocam öncelikle yardımınız için teşekkür ederim. fakat çalıştıramadım. Daha doğrusu tam olarak ne yapacağımı bilmiyorum. Google ile excel makro ekleme çalıştırma excel vb ekleme diye arama yaptım anlatılanları denedim ama olmadı ya da ben beceremedim. Microsoft office 2013 kullanıyorum
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Çalışma sayfası isminin üzerinde sağ tıkla > kodları görüntüle
açılan ekrana yukarıdaki kodları yapıştırın.

Excel sayfasına dönüp,
C6:H1000 hücre aralığına veri girerek gözlemeyin...

. . .
 
Katılım
15 Mayıs 2011
Mesajlar
16
Excel Vers. ve Dili
Ofis 365 TR
Hocam sizleri yorduğumu düşünerek mahçup oluyorum ve özür diliyorum kusurumu bağışlayın lütfen.

Sağ tıkla Kodları Görüntüle dedim



Sizin verdiğiniz kodları çıkan tabloya yapıştırdım ve kaydettim.



Fakat deneme yapmak istediğimde yine başarısız oldum.
 
Katılım
15 Mayıs 2011
Mesajlar
16
Excel Vers. ve Dili
Ofis 365 TR
Hocam kod çalıştı fakat bu defa farklı bir sorun baş gösterdi nasıl editleyebilirim acaba.

Kod eklenip çalıştırıldıktan sonra
C126 hücresine =BAĞ_DEĞ_DOLU_SAY(C127:D128) yazıyorum problem yok görev yapıyor
E126 hücresine =BAĞ_DEĞ_DOLU_SAY(E127:G128) yazdığım zaman bu defa bir üstte C126 Hücresine yazdığım formülü siliyor ve yine
H126 hücresine =BAĞ_DEĞ_DOLU_SAY(H127:I128) yazdığımda ise bu defa diğer iki C126 ve E126 ya yazdığım formüller siliniyor.

aslında kod başarılı şekilde çalışıyor ama ben bu silme işlemi [C123:I269] aralığının tamımında değilde sadece belirli satırlarda yapmasını sağlamam için nasıl editlemem lazım.

Personel görevi yazan satırları atlayıp sadece isimlerin olduğu satırlarda işlem yapması mümkün mü?
çalışma dosyam burada hocam
http://www.dosya.tc/server7/67hb87/rapor_sablon_calisma.xls.html
 
Son düzenleme:

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Intersect(Target, [C124:I269]) Is Nothing Then Exit Sub
    
    Application.EnableEvents = False
    s = Target.Column
    sa = Target.Row
    
    If Target.HasFormula = False Then
        If s = "3" Then Range("E" & sa & ":I" & sa) = ""
        If s = "5" Then Range("C" & sa & ":D" & sa) = "": Range("H" & sa & ":I" & sa) = ""
        If s = "8" Then Range("C" & sa & ":G" & sa) = ""
    End If
    
    Application.EnableEvents = True
    
End Sub
. . .
 
Katılım
15 Mayıs 2011
Mesajlar
16
Excel Vers. ve Dili
Ofis 365 TR
Yardımlarınızdan ve sabrınızdan dolayı çok çok teşekkür ediyorum hocam.
 
Üst