Koşullu Satır Silme

Katılım
9 Mart 2015
Mesajlar
7
Excel Vers. ve Dili
excel 2010

Türkçe
Merhaba,

konular içerisinde bulamadığım için yeni konu olarak açtım.
sorum şu ki:

B sütununda işe geliş tarihleri (04.02.2015 - 04.03.2015 tarihleri arasında )
C sütununda ise personel isimleri mevcut.

kayıtlar gün gün olarak işli durumda.

bu durumda bir personel eğer 04.03.2015 te işe gelmiş ise o personelin yer aldığı tüm satırların silinmesi.

teşekkürler
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Bu şekilde deneyin.

Not: Detaylı deneme yapmadım, dosyanızın yedeğinde kodları detaylı deneyiniz.

Kod:
Sub Sil()
    
    Dim tarih As Date, i As Long, j As Long, personel As String
    
    tarih = "04.03.2015" 'aranan tarih
    
    Application.ScreenUpdating = False
    
    For i = 1 To Cells(Rows.Count, "B").End(xlUp).Row
        If Cells(i, "B") = tarih Then
            personel = Cells(i, "C")
            For j = Cells(Rows.Count, "C").End(xlUp).Row To 2 Step -1
                If Cells(j, "C") = personel Then
                    Rows(j).Delete Shift:=xlUp
                End If
            Next j
        End If
    Next i
    
    Application.ScreenUpdating = True
    
End Sub
.
 
Katılım
9 Mart 2015
Mesajlar
7
Excel Vers. ve Dili
excel 2010

Türkçe
merhaba,

öncelikle teşekkür ederim ancak kod şöyle çalıştı.

karşısında personel bulunan bütün 04.03.2015 tarihli satırları sildi.

yapması gereken ise 04.03.2015 karşısında bulunan personelin bulunduğu tüm satırları silmesi gerekiyordu.
 
Katılım
9 Mart 2015
Mesajlar
7
Excel Vers. ve Dili
excel 2010

Türkçe
muhtemelen kodun başında atanan tarih=04.03.2015 bulunduğu personeli siliyor sonra kodu tekrar çalıştırmak isteyin 04.03.2015 olmadığı için o personelin diğer kayıtlarını silmiyor.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
B sütunundaki tarihlere bakıyor, 04.03.2015 bulursa karşısındaki personel ismini C sütununda arıyor ve bulduğu isimlerin olduğu satırı siliyor.

İstediğiniz bu değil mi?

Dosya ekleme sitelerinin birine küçük bir örnek dosya ekleyip konuyu detaylı açıklar mısınız.

.
 
Katılım
9 Mart 2015
Mesajlar
7
Excel Vers. ve Dili
excel 2010

Türkçe
merhaba,

evet istediğim tam tarif ettiğiniz gibi ancak bulduğu isimlerin olduğu satırları silmiyor. sadece 04.03.2015 ve ismin olduğu satırları siliyor.
iş yerinde olduğum için yükleme yapamıyorum.

şöyle özetleyeyim.


sütün B sütun C
01.03.2015 Ramazan Bulut
02.03.2015 Ramazan Bulut
03.03.2015 Ramazan Bulut
04.03.2015 Ramazan Bulut

kod kırmızı renkli satırı siliyor ama diğer satırları silmiyor. oysa hepsini silmesi gerekir.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Bu şekilde deneyin.

Detaylı deneme yapmadım.


Kod:
Sub Sil()
    
    Dim tarih As Date, i As Long, j As Long, personel As String, son As Long
    
    tarih = "04.03.2015" 'aranan tarih
    son = Cells(Rows.Count, "B").End(xlUp).Row
    
    Application.ScreenUpdating = False

    For i = 2 To son
        If Cells(i, "B") = tarih Then
            personel = Cells(i, "C")
            For j = Cells(Rows.Count, "C").End(xlUp).Row To 2 Step -1
                If Cells(j, "C") = personel Then
                    Rows(j).Delete Shift:=xlUp
                End If
            Next j
            i = 2
            son = Cells(Rows.Count, "B").End(xlUp).Row
        End If
    Next i
    
    Application.ScreenUpdating = True
    
End Sub
.
 
Katılım
9 Mart 2015
Mesajlar
7
Excel Vers. ve Dili
excel 2010

Türkçe
merhaba,

Çok teşekkür ederim. mükemmel çalıştı şimdi.
 
Üst