• DİKKAT

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

belli tarihe gelince satır silme

Private Sub Worksheet_Change(ByVal Target As Range)
If [A1] = "27.12.2006" Then
[A1].EntireRow.Delete
End If
End Sub
 
tam istediğim şu şekilde birşey hücre tarihi bugünün tarihinden geçerse otomatik o hücrenin bulunduğu satırı silecek
 
oncelikle bu makroyu bos bir excel dosyasında test ettikten sonra orijinal dosya icerisinde denemelisin.

bos bir excel dosyası ac. A kolonuna 20 civarinda tarih yaz.
01.01.2005
01.02.2006
10.02.2006
14.12.2006
15.12.2007
15.12.2010
...

sadece tarihlerin bulundugu hucreleri sec. sonra seciliyken. Makroyu calistir.
bugunun tarihinden buyuk olan tarihlere ait satirlari silinecektir.


asagida "now" yazan yere istediğin tarihi cift tırnak icerisinde yazabilirsin.


Sub SatirlariSil()
'secilen satir sayisi
Rng = Selection.Rows.Count
ActiveCell.Offset(0, 0).Select
Application.ScreenUpdating = False


For i = 1 To Rng

'eger aktif hucrenin degeri bugunden buyukse
If ActiveCell.Value > Now Then

'secime ait tum satiri sil
Selection.EntireRow.Delete

'degil ise
Else
'bir sonraki hucreyi sec
ActiveCell.Offset(1, 0).Select
End If
Next i
Application.ScreenUpdating = True
End Sub
 
Aşağıdaki kodları bugünden önceki verilerinizi manuel silmek için kullanabilirsiniz.

Kod:
Sub SatirSil()
Dim i As Long
Application.ScreenUpdating = False
[a1].Select
son = [a65536].End(3).Row
For i = son To 1 Step -1
If CDate(Cells(i, 1).Value) < Date Then Rows(i).EntireRow.Delete Shift:=xlUp
Next i
[a1].Select
Application.ScreenUpdating = True
End Sub

Eğer her dosya açıldığında otomatik olarak silinmesini istiyorsanız,
Kod:
Sub Auto_Openl()
Dim i As Long
Application.ScreenUpdating = False
Sheets("VERİ").Select
[a1].Select
son = [a65536].End(3).Row
For i = son To 1 Step -1
If CDate(Cells(i, 1).Value) < Date Then Rows(i).EntireRow.Delete Shift:=xlUp
Next i
[a1].Select
Application.ScreenUpdating = True
End Sub
 
Geri
Üst