• DİKKAT

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

satır silme

Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
iyi akşamlar;
çalışma sayfasında işlemleri hızlandırmak için , değer olarak eşit olan ikili satırları , satır olarak silmek istiyorum. borç - alacak eşitse silinmesi şeklinde
 

Ekli dosyalar

  • satir_silme.xlsx
    satir_silme.xlsx
    10.9 KB · Görüntüleme: 15
  • satirsil.jpg
    satirsil.jpg
    183.9 KB · Görüntüleme: 8
Merhaba.

Aşağıdaki gibi olur.
.
Kod:
[B]Sub SATIR_SIL()[/B]
Set wf = Application.WorksheetFunction
Application.DisplayAlerts = False
For sat = 2 To Cells(Rows.Count, 1).End(3).Row
    If Cells(sat, "F") > 0 And wf.CountIf(Range("G:G"), Cells(sat, "F")) > 0 Then
        gsat = wf.Match(Cells(sat, "F"), Range("G:G"), 0)
        Range("A" & sat & ":J" & sat).Delete Shift:=xlUp
[COLOR="Red"]        If sat < gsat Then gsat = gsat - 1[/COLOR]
        Range("A" & gsat & ":J" & gsat).Delete Shift:=xlUp
        sat = sat - 1
    End If
Next
Application.DisplayAlerts = True
MsgBox "İşlem tamamlandı.", vbInformation, "..::.. Ömer BARAN ..::.."
[B]End Sub[/B]
 
sorunsuz çalışıyor

Merhaba.

Aşağıdaki gibi olur.
.
Kod:
[B]Sub SATIR_SIL()[/B]
Set wf = Application.WorksheetFunction
Application.DisplayAlerts = False
For sat = 2 To Cells(Rows.Count, 1).End(3).Row
    If Cells(sat, "F") > 0 And wf.CountIf(Range("G:G"), Cells(sat, "F")) > 0 Then
        gsat = wf.Match(Cells(sat, "F"), Range("G:G"), 0)
        Range("A" & sat & ":J" & sat).Delete Shift:=xlUp
        Range("A" & gsat & ":J" & gsat).Delete Shift:=xlUp
        sat = sat - 1
    End If
Next
Application.DisplayAlerts = True
MsgBox "İşlem tamamlandı.", vbInformation, "..::.. Ömer BARAN ..::.."
[B]End Sub[/B]

çok teşekkür ederim, sorunsuz çalışıyor.
 
aşağıdaki satırı ilgili satırla değiştirin.:cool:
Kod:
For sat = Cells(Rows.Count, 1).End(3).Row to 2 step -1
 
sonradan daha verdi

Merhaba.

Aşağıdaki gibi olur.
.
Kod:
[B]Sub SATIR_SIL()[/B]
Set wf = Application.WorksheetFunction
Application.DisplayAlerts = False
For sat = 2 To Cells(Rows.Count, 1).End(3).Row
    If Cells(sat, "F") > 0 And wf.CountIf(Range("G:G"), Cells(sat, "F")) > 0 Then
        gsat = wf.Match(Cells(sat, "F"), Range("G:G"), 0)
        Range("A" & sat & ":J" & sat).Delete Shift:=xlUp
        Range("A" & gsat & ":J" & gsat).Delete Shift:=xlUp
        sat = sat - 1
    End If
Next
Application.DisplayAlerts = True
MsgBox "İşlem tamamlandı.", vbInformation, "..::.. Ömer BARAN ..::.."
[B]End Sub[/B]

örnek dosyası ekledim, silmede hata yapıyor anlayamadım.
 

Ekli dosyalar

  • Satir_sil.xlsm
    Satir_sil.xlsm
    15.1 KB · Görüntüleme: 7
  • 1.jpg
    1.jpg
    96.5 KB · Görüntüleme: 3
  • 2.jpg
    2.jpg
    59.5 KB · Görüntüleme: 2
Önceki cevabımdaki kod'a bir satırlık ekleme (kırmızı renklendirdim) yaptım.
Sayfayı yenileyerek kod'un yeni haline bakın.
 
Geri
Üst