Önceden kullanılmış verileri silme

Katılım
20 Ocak 2023
Mesajlar
37
Excel Vers. ve Dili
Excel 2016
Merhabalar herkese iyi çalışmalar,
Bir sayfada tüm verilerin olduğu veri deposu mantığıyla bir sayfam var. ikinci sayfamda ise anlık lazım olan verileri yazıyorum. Yazdığım veriye karşılık gelen değeri birinci sayfadan düşey ara ile getiriyorum fakat şöyle bir sorunum var ikinci sayfaya yazdığım veriler bana bir kere lazım oluyor dolayısıyla veri deposu olarak tuttuğum birinci sayfadaki verinin artık durmasına gerek kalmıyor komple o satırın silinmesini istiyorum.

Örnek verecek olursak ; Birinci sayfamda dosya numaraları ve karar numaraları var ikinci sayfama dosya numarasını yazıp karşılık gelen karar numarasını düşey ara ile getirip çıktı alıyorum. İş bittikten sonra birinci sayfada aynı dosya numarasının durmasını istemiyorum.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Silme işlemini makro ile yapabilirsiniz.
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
686
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Olası makro senaryosu,
Sayfa2 de aranan değeri (aranan değeri seçip, üzerine değer yapıştırma işleminden sonra), Sayfa1 de bul ve satırı sil.
 
Katılım
20 Ocak 2023
Mesajlar
37
Excel Vers. ve Dili
Excel 2016
Kod:
Dim Adres As String   
Dim Adres As String
    Dim Aranan As String
      For i=1 to 30
    Aranan = Cells(1,i)
    On Error GoTo Yok
    Adres = Columns("A:A").Find(What:=Aranan, After:=Range("A1"), LookAt:=xlPart).Address
   **********
    Next i
    Exit Sub
Yok:
    MsgBox "Silinecek değer bulunamadı."
End Sub
Şöyle bir kod hazırladım kendimce fakat tam olarak toplayamadım. Sırasıyla A1,A2,...A30 diye gidecek Adres değerini alacak ve Adres.ClearContents ile silme işlemini yapacağım(eğer böyle silebiliyorsa tabiki) fakat sayfalar arası söz dizimini toplayamadım yani sayfa 2 deki değeri sayfa 1 de ara işlemini yapamadım.
 
Katılım
20 Ocak 2023
Mesajlar
37
Excel Vers. ve Dili
Excel 2016
İlgili kodda Adres.ClearContets çalışmıyormuş doğru anladıysam bana aranan değerin bulunduğu yeri Cells şekinde getiren kod lazım.
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
686
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
İki dosyayı da ekleyin isterseniz, hem taşıma hem silme işlemi 2 farklı makro ile yapılabilir.
 
Katılım
20 Ocak 2023
Mesajlar
37
Excel Vers. ve Dili
Excel 2016
Maalesef dosya yüklemeye yetkim yok hocam.
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
686
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Katılım
20 Ocak 2023
Mesajlar
37
Excel Vers. ve Dili
Excel 2016
Hocam kendim araştırma ile çözdüm sorunu
Kod:
Sub sil()
For i = 1 To Range("A65536").End(xlUp).Row
For k = 1 To Range("A65536").End(xlUp).Row
If Cells(i, 1) = Sheets("Sayfa2").Cells(k, 1) Then
Rows(i).Delete
End If
Next k
Next i
End Sub
Şu şekilde sağlık mıdır ? sayfa2 deki A sütunundaki veriler sayfa 1 de A sütununda varsa o satırı siliyorum
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
686
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Satırı silince elinizdeki düşeyara ile çekilen veriler bozulmuyormu?
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
686
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Sayfa2 K2 ve sonrasında arar; Sayfa1 A'da siler.

Kod:
Sub VeriSil()
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim lastRow As Long, i As Long, j As Long
    Dim veri As String, cel As Range
    
    Set ws1 = ThisWorkbook.Worksheets("Sayfa1")
    Set ws2 = ThisWorkbook.Worksheets("Sayfa2")
    

    lastRow = ws2.Cells(ws2.Rows.Count, "K").End(xlUp).Row
    
    For i = 2 To lastRow 'K2'den başlayarak
        veri = ws2.Range("K" & i).Value
        For Each cel In ws1.Range("A1:A" & ws1.Cells(ws1.Rows.Count, "A").End(xlUp).Row)
            If cel.Value = veri Then
                cel.EntireRow.Delete
                Exit For
            End If
        Next cel
    Next i
End Sub
 
Katılım
20 Ocak 2023
Mesajlar
37
Excel Vers. ve Dili
Excel 2016
Hocam çok teşekkür ederim. Kendimce yazmış olduğum kodda excellde kısa süreli donma olurken bu kod gayet stabil çalışıyor emeğinize sağlık.
 
Üst