Koşula Bağlı Satır Silme
-
- Mesajlar: 6
- Kayıt: 17 Eki 2023, 21:32
- Meslek: Satış Sonrası Hizmet Personeli
- Adınız: Engin
- Soyadınız: Eryılmaz
Koşula Bağlı Satır Silme
Merhaba,
Elimde bir excel tablosu mevcut günlük olarak değişmektedir, ilgili tabloada koşula bağlı olarak makro ile satır silmem mümkün müdür?
1'inci koşul, W stununda Kontrol Edilmiştir yazıyor ise satırının tamamı silinecek
2'inci koşul, V stununda Listede Yok yazıyor ise N stunun kontrol edilecek Ücretli yazan satırları silecek
Böyle bir makro çalışması yapılması mümkün müdür
Elimde bir excel tablosu mevcut günlük olarak değişmektedir, ilgili tabloada koşula bağlı olarak makro ile satır silmem mümkün müdür?
1'inci koşul, W stununda Kontrol Edilmiştir yazıyor ise satırının tamamı silinecek
2'inci koşul, V stununda Listede Yok yazıyor ise N stunun kontrol edilecek Ücretli yazan satırları silecek
Böyle bir makro çalışması yapılması mümkün müdür
-
- Mesajlar: 84
- Kayıt: 24 Haz 2023, 00:23
- Web Sitesi: https://erseldemirel.com.tr/
- Adınız: Ersel
- Soyadınız: Demirel
Re: Koşula Bağlı Satır Silme
Bir deneyiniz test sayfasında a sütunu son dolu satırdan itibaren çalışması lazım
Kod: Tümünü seç
Sub TEST()
Set ws = ThisWorkbook.Sheets("TEST")
sonSatir = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
For i = sonSatir To 2 Step -1
If ws.Cells(i, 23).Value = "Kontrol Edilmiştir" Then
ws.Rows(i).EntireRow.Delete
ElseIf ws.Cells(i, 22).Value = "Listede Yok" And ws.Cells(i, 14).Value = "Ücretli" Then
ws.Rows(i).EntireRow.Delete
End If
Next i
End Sub
-
- Mesajlar: 16
- Kayıt: 11 Eki 2023, 13:56
- Meslek: Memur
- Adınız: Ahmet
- Soyadınız: KARIŞMA
Re: Koşula Bağlı Satır Silme
Kod: Tümünü seç
Dim sonSatir As Long, i As Long
' Son satır numarasını bul
sonSatir = Cells(Rows.Count, "W").End(xlUp).Row
' Kontrol Edilmişleri Sil
For i = sonSatir To 1 Step -1
If Cells(i, "W").Value = "Kontrol Edilmiştir" Then
Rows(i).EntireRow.Delete
End If
Next i
' Listede Yok ve Ücretli olanları sil
For i = sonSatir To 1 Step -1
If Cells(i, "V").Value = "Listede Yok" And Cells(i, "N").Value = "Ücretli" Then
Rows(i).EntireRow.Delete
End If
Next i
-
- Mesajlar: 6
- Kayıt: 17 Eki 2023, 21:32
- Meslek: Satış Sonrası Hizmet Personeli
- Adınız: Engin
- Soyadınız: Eryılmaz
Re: Koşula Bağlı Satır Silme
Merhaba, Sorunsuz çalışıyor teşekkür ederim, fakat veriler arttığında yavaşlıyor ve geç siliyorkarisma61 yazdı: ↑05 Ara 2023, 13:48Kod: Tümünü seç
Dim sonSatir As Long, i As Long ' Son satır numarasını bul sonSatir = Cells(Rows.Count, "W").End(xlUp).Row ' Kontrol Edilmişleri Sil For i = sonSatir To 1 Step -1 If Cells(i, "W").Value = "Kontrol Edilmiştir" Then Rows(i).EntireRow.Delete End If Next i ' Listede Yok ve Ücretli olanları sil For i = sonSatir To 1 Step -1 If Cells(i, "V").Value = "Listede Yok" And Cells(i, "N").Value = "Ücretli" Then Rows(i).EntireRow.Delete End If Next i
-
- Mesajlar: 6
- Kayıt: 17 Eki 2023, 21:32
- Meslek: Satış Sonrası Hizmet Personeli
- Adınız: Engin
- Soyadınız: Eryılmaz
Re: Koşula Bağlı Satır Silme
Merhaba, Sorunsuz çalışıyor teşekkür ederim, fakat veriler arttığında yavaşlıyor ve geç siliyorerseldemirel yazdı: ↑05 Ara 2023, 13:45 Bir deneyiniz test sayfasında a sütunu son dolu satırdan itibaren çalışması lazım
Kod: Tümünü seç
Sub TEST() Set ws = ThisWorkbook.Sheets("TEST") sonSatir = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row For i = sonSatir To 2 Step -1 If ws.Cells(i, 23).Value = "Kontrol Edilmiştir" Then ws.Rows(i).EntireRow.Delete ElseIf ws.Cells(i, 22).Value = "Listede Yok" And ws.Cells(i, 14).Value = "Ücretli" Then ws.Rows(i).EntireRow.Delete End If Next i End Sub
-
- Mesajlar: 84
- Kayıt: 24 Haz 2023, 00:23
- Web Sitesi: https://erseldemirel.com.tr/
- Adınız: Ersel
- Soyadınız: Demirel
Re: Koşula Bağlı Satır Silme
Kodun en başına Application.ScreenUpdating = False en sonunada Application.ScreenUpdating = True ekleyin hızlandırır
-
- Mesajlar: 6
- Kayıt: 17 Eki 2023, 21:32
- Meslek: Satış Sonrası Hizmet Personeli
- Adınız: Engin
- Soyadınız: Eryılmaz
Re: Koşula Bağlı Satır Silme
tşk ederim kolay gelsin.erseldemirel yazdı: ↑05 Ara 2023, 20:53 Kodun en başına Application.ScreenUpdating = False en sonunada Application.ScreenUpdating = True ekleyin hızlandırır