• DİKKAT

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

diger sayfadaki satırları bulup silmek

  • Konbuyu başlatan Konbuyu başlatan akd
  • Başlangıç tarihi Başlangıç tarihi

akd

Destek Ekibi
Destek Ekibi
Katılım
14 Ağustos 2004
Mesajlar
1,119
Excel Vers. ve Dili
2003
Merhaba arkadaşlar,
aynı kişinin dört sayfada bilgileri var , kişi sil dedigimde kimlik sayfasındaki ismi ve diger sayfadaki adına kayıtlı olan kaç tane kayıt varsa hepsini silmesini istedim ama yapamadım,
en fazla birer satırı silebiliyor, ben o kişiye ait diger 4 sayfada kaç tane kayıt varsa silsin istiyorum
Çalıştığım kod aşağıda;
Private Sub CommandButton3_Click()
On Error Resume Next
If T2.Value = "" Then
MsgBox " Ã?nce Silmek İstediginiz Ã?ğrenciyi Seçmelisiniz...", vbDefaultButton1, "AKD.YAZILIM..."
Exit Sub
End If
lig = Sheets("kimlik").Columns(1).Find(T1.Value, [a1], , , xlByRows).Row
Sheets("kimlik").Cells(lig, 1).Select
Selection.EntireRow.Delete

lig = Sheets("egitsel_gelişim").Columns(1).Find(T1.Value, [a3], , , xlByRows).Row
Sheets("egitsel_gelişim").Cells(lig, 1).Select
Selection.EntireRow.Delete

lig = Sheets("ücret_durumu").Columns(1).Find(T1.Value, [a2], , , xlByRows).Row
Sheets("ücret_durumu").Cells(lig, 1).Select
Selection.EntireRow.Delete

lig = Sheets("yıllık_rapor").Columns(1).Find(T1.Value, [a2], , , xlByRows).Row
Sheets("yıllık_rapor").Cells(lig, 1).Select
Selection.EntireRow.Delete
T2.SetFocus
End Sub
Sayğılar...
 
Find komutu sadece ilk bulduğu değere gidecektir. Aynı değer birden fazla bulunuyorsa bu durumda bir döngü kurarak aratmanız gerekmektedir.
 
Sayın levendm , örnek bir kod yazarmısın ,
yani bir sayfaya hükmeden kodu yazarsanız ben digerlerine uygularım
selamlar...
 
lig = Sheets("kimlik").Columns(1).Find(T1.Value, [a1], , , xlByRows).Row
Sheets("kimlik").Cells(lig, 1).Select
Selection.EntireRow.Delete

Yukarıdaki kodlar yerine aşağıdaki gibi deneyin.

[vb:1:f5d4a106e8]Set s1 = Sheets("kimlik")
For a = s1.Cells(65536, 1).End(xlUp).Row To 1
If s1.Cells(a, 1) = [a1].Value Then Rows(s1.Cells(a, 1).Row).Delete
Next
[/vb:1:f5d4a106e8]
 
sayın levendim , pardon,
kodu anlamadım, öğrenci numarası T1 textbox'unda kayıtlı sizin kodda, neye göre bulacağı belli degil , hangi öğrenciyi bulacağı, kodun neresinde bulamadım ,
lütfen aydınlatırmısınız,
saygılar...
 
Koddaki [a1].value yerine T1.value yazın.
 
Set sa = Sheets("kimlik")
For a = sa.Cells(65536, 1).End(xlUp).Row To 1
If sa.Cells(a, 1) = T1.Value Then Rows(sa.Cells(a, 1).Row).Delete
Next
T1.Value bu şekilde degiştirdim yine çalışmadı
 
step -1 i atlamışım, aşağıdaki şekilde deneyin.

[vb:1:e5993254cb]Set sa = Sheets("kimlik")
For a = sa.Cells(65536, 1).End(xlUp).Row To 1 step -1
If sa.Cells(a, 1) = T1.Value Then Rows(sa.Cells(a, 1).Row).Delete
Next
[/vb:1:e5993254cb]
 
T1 burada hücre adı olmayıp textboxın adıdır. O nedenle öyle yazılmıştır.
 
Merhaba sayın leventm, sizide yordum,
malesef çalışmadı neden anlamadım doğrusu?
kodu olduğu gibi başka bir butona kaydedip denedim yine olmadı
malesef,...
saygılar..
 
Mantık olarak çalışması gerekir. Tam olarak sebebini anlayabilmek için dosyanızı eklermisiniz.
 
büro kapatılıyor yarın gönderebilirim artık,
ilginiz için çok teşekkür ederim
 
Esas belgem çok büyük olduğu için gönderemiyorum, örnek belge hazırlayıp ataca ekledim,
İlgilenirseniz çok sevinirim
 
Private Sub CommandButton1_Click()

Set sa = Sheets("kimlik")
For a = sa.Cells(65536, 1).End(xlUp).Row To 1 Step -1
If sa.Cells(a, 1) = Val(T1) Then sa.Rows(a).Delete
Next

Set s1 = Sheets("egitsel_gelişim")
For a = s1.Cells(65536, 1).End(xlUp).Row To 1 Step -1
If s1.Cells(a, 1) = Val(T1) Then s1.Rows(a).Delete
Next

Set s2 = Sheets("ücret_durumu")
For a = s2.Cells(65536, 1).End(xlUp).Row To 1 Step -1
If s2.Cells(a, 1) = Val(T1) Then s2.Rows(a).Delete
Next

End Sub
 
Sayın akd, aşağıdaki gibi deneyebilirmisiniz. Kolay gelsin.

Private Sub CommandButton1_Click()
Sheets("kimlik").Select
For a = Cells(65536, 1).End(xlUp).Row To 1 Step -1
If Cells(a, 1) = T1.Text Then Rows(a & ":" & a).Delete Shift:=xlUp
Next

Sheets("egitsel_gelişim").Select
For a = Cells(65536, 1).End(xlUp).Row To 1 Step -1
If Cells(a, 1) = T1.Text Then Rows(a & ":" & a).Delete Shift:=xlUp
Next

Sheets("ücret_durumu").Select
For a = Cells(65536, 1).End(xlUp).Row To 1 Step -1
If Cells(a, 1) = T1.Text Then Rows(a & ":" & a).Delete Shift:=xlUp
Next
End Sub
 
Çok çok teşekkürler ongun kardeş,
Elleriniz dert görmesin...
 
Çok çok teşekkürler ongun kardeş,
Elleriniz dert görmesin...

Sayın akd, ilgilenen tüm arkadaşların ellerine yüreklerine sağlık. Her şey gönlünüzce olsun. :hey:

BİLGİ PAYLAÞTIKÇA ÇOÐALIR.
 
Geri
Üst