İki sayfada satır silme

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
Merhaba.Aşağıdaki kod ile Anasayfa'da bulunan textbox3'deki isim ve textbox4 deki tarihe göre Anasayfa satırındaki kaydı siliyorum fakat aynı anda Döküm sayfası "G" sutununda bulunan Anasayfadaki textbox15 de bulunan değere göre de Döküm sayfasındaki satırı silsin istiyorum.Yardımcı olabilir misiniz?
Private Sub CommandButton33_Click()
Set s1 = Sheets("Döküm")
Set S2 = Sheets("Anasayfa")
Set c = S2.[A15:A50000].Find(TextBox3, , xlValues, xlWhole)
If Not c Is Nothing Then
Adr = c.Address
Do
If S2.Cells(c.Row, "c") = CDbl(CDate(TextBox4.Value)) Then
If k Is Nothing Then
Set k = S2.Rows(c.Row)
Else
Set k = Application.Union(k, S2.Rows(c.Row))
End If
End If
Set c = S2.[A15:A50000].FindNext(c)
Loop While Not c Is Nothing And c.Address <> Adr
End If
If Not k Is Nothing Then
Application.ScreenUpdating = False
k.Delete
Application.ScreenUpdating = True
End If
 

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
Aşağıdaki kodu kodların sonuna ekliyorum ama silme işlemini yapmıyor.Nerede hata yapıyorum?
Set s1 = Sheets("Döküm")
Set S2 = Sheets("Anasayfa")
For i = 18 To S1.Range("g65536").End(3).Row
If S1.Cells(i, "g") = TextBox15 Then
Rows(i).EntireRow.Delete
End If
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,165
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Silme işlemlerinde döngüyü tersten kurmanızda fayda var.

Döngünüzün başlangıcını aşağıdaki yapıya uydurmanız gerekir.

For Son_Satır To İlk_Satır Step -1
 

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
Döngüyü For i = s1.Range("g65536").End(3).Row To 18 Step -1 şeklinde yazdım ama olmadı başka bir sorun var.Yukarıda ilk paylaştığım kodu döküm sayfasına göre uyarlayınca çalışıyor ama bu seferde diğer sayfadaki(Anasayfa) veriyi silemiyorum.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,165
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosya paylaşarak olmayan yeri tarif ederseniz yardım almanız kolaylaşır.
 

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
Kodlar Anasayfada Kayıt sil butonunun yanındaki sarı renkli butonda yazılı.Aynı anda Hem anasayfadaki ilgili kişiye ait bilgiler hem de döküm sayfasında G sutununda ki sayfa kodu bilgilerine göre o kişiye ait bilgiler silinecek.(Sayfa kodu bilgileri Textbox15 de kayıt edilmektedir
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,165
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosya talep ettim. Siz 40 MB boyutunda bir dosya paylaşıyorsunuz.

Kullanmanız gereken komut aşağıdadır.

Dosyanızda çok fazla gereksiz alan kulanımı var. Bunları temizlemezseniz bu dosyanız yakında bozulabilir.

C++:
For i = s1.Cells(s1.Rows.Count, "g").End(3).Row To 18 Step -1
If s1.Cells(i, "g") = TextBox15 Then
s1.Rows(i).Delete xlUp
End If
Next
 

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
Örnek dosya için bekletmek istemedim.Yazdığınız kod çalışıyor ama biraz yavaş çalışıyor herhalde dosyadaki gereksiz alanlar yüzünden.Yeni bir dosya hazırlamam gerekecek.Teşekkürler.
 
Üst