• DİKKAT

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

1. sayfadaki verileri 2 ve 3. sayfada bularak silme

Katılım
16 Ocak 2015
Mesajlar
28
Excel Vers. ve Dili
excel2016 türkçe
arkadaşlar öncelikle herkese iyi günler.
benim işimi çok kolaylaştıracak bir konuda yardımcı olabilecek herkese şimdiden sonsuz teşekkürler.
ekte bir excel dosyası yolluyorum. amacım şu. 1. sayfada bulunan veriler eğer 2. ve 3. 4. 5. sayfalarda var ise bu verilerin bulunduğu hücrenin tamamen silinmesini istiyorum. hücre içeriği olarak değil satırın tamamen silinmesini istiyorum.
bu şekilde bir macro yazılabilirmi. teşekkürler.

http://s5.dosya.tc/server3/loj4qo/excel_form.xlsx.html
 
Merhaba.

Alt taraftan Sayfa1 adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin.
Açılan VBA ekranında sağ tarafa aşağıdaki kod'u yapıştırın.
VBA ekranında iken F5 tuşuna basarak kod'u çalıştırın.

(Kod'daki kırmızı renklendirdiğim kısım Sayfa2 ve Sayfa3'teki,
Sayfa1'de var olan hücreleri renklendirerek işaretlemek için eklendi,
bu işaretleme gerekli değilse; kırmızı kısımları silebilirsiniz
).
Kod:
[FONT="Arial Narrow"]Sub SATIRLARI_SİL()
Set s1 = Sheets("Sayfa1"): Set s2 = Sheets("Sayfa2")
Set s3 = Sheets("Sayfa3"): Set wf = Application.WorksheetFunction
adetilk = s1.[A65536].End(3).Row
For sat1 = s1.[A65536].End(3).Row To 1 Step -1
[COLOR="Red"]    If wf.CountIf(s2.Range("A:A"), s1.Cells(sat1, 1)) > 0 Then
        s2.Cells(wf.Match(s1.Cells(sat1, 1), s2.Range("A:A"), 0), 1).Interior.Color = vbGreen
            End If
                If wf.CountIf(s3.Range("A:A"), s1.Cells(sat1, 1)) > 0 Then
                    s3.Cells(wf.Match(s1.Cells(sat1, 1), s3.Range("A:A"), 0), 1).Interior.Color = vbGreen
                    End If[/COLOR]
                If wf.CountIf(s2.Range("A:A"), s1.Cells(sat1, 1)) + _
            wf.CountIf(s3.Range("A:A"), s1.Cells(sat1, 1)) > 0 Then
        s1.Rows(sat1 & ":" & sat1).Delete Shift:=xlUp
    End If
Next: adetson = s1.[A65536].End(3).Row
MsgBox "-- Sayfa1'de mevcut " & adetilk & " satırdan " & adetilk - adetson & " adeti silindi," & _
        [COLOR="Red"]vbLf & "-- silinen değerler renklendirildi," &[/COLOR] vbLf & "-- " & adetson & " adet satır kaldı...", vbInformation
End Sub[/FONT]
 
Alternatif olarak, aşağıdaki kodu bir modüle yazın.
Sayfa1'e bir buton ekleyip kodu çalıştırın.
Kod:
Sub Bul_Sil()
    Dim sayfalar As Worksheet, ana As Worksheet
    Dim bulunan As Range
    Dim aranan As String
    Set ana = Sheets("Sayfa1")
    sonsatır = ana.Range("A" & Rows.Count).End(xlUp).Row
    On Error Resume Next
    For i = 1 To sonsatır
    aranan = ana.Cells(i, 1)
    For Each sayfalar In Worksheets
      If sayfalar.Name <> ana.Name Then
        With sayfalar.UsedRange
            Set bulunan = .Find(What:=aranan, After:=.Cells(1, 1), LookIn:=xlValues, LookAt:=xlWhole)
            If Not bulunan Is Nothing Then
                bulunan.EntireRow.Delete
            End If
        End With
    End If
    Next sayfalar
    Next i
    On Error GoTo 0
End Sub
 
hocam yine derdimize derman oldunuz tesekkurler.
yalnız ben excelde giriş seviyesi kadar bilgiye sahibim ve makrolarla ilgili en küçük bilgim yok. işin kolaycılığı olarak görebilirsiniz ama module yazıp sonrasında tuş ekleyip çalıştırma kısmını açıklayabilmenizde mümkün mü ?
bir de doctus diye bir site vardı şuan aktif değil. orada aynı rumuzla yönetim ekibinde miydiniz.
birde ornek olarak taranmasını istediğimiz birinci sayfada 123456 rakamı var, 2. ,3., 4., .... sayfalarda bir hucrede ab199252123456 şeklinde geçiyor. hücre içindeki metinde bu 123456 yı yakalar yakalamaz siliyor mu. yoksa sadece 1. sayfada geçtiği gibi benzersiz olarak yakalarsamı siliyor. bana 1. şıktaki şekilde lazım.
 
Merhaba.
Önceki cevabımda kod'u nasıl uygulayacağınıza ilişkin açıklama var, önceki cevabımı tekrar okuyunuz.
 
ömer baran bey öncelikle ilginize alakanıza teşekkür ederim.
turist hocam sizede teşekkürler saygılar.
hocam yuklediğim excelde 1. sayfayı diğer sayfalarda arayıp bulursa diğer sayfalarda bulduğu hücrenin olduğu satırın komple silinmesini istiyorum.
yani 1. sayfadakiler kalabilir onları ben tespit edip giriyorum zaten. o rakamlar hata oluyor. hataları diğer sayfalarda arayıp bulduğu hücrenin satırını silmek istiyorum.
birde yukarıda açıklamaya çalıştım ama. örneğin 1234567 rakamını aratıyoruz diğer sayfalarda hucre içeriğinde ab1238547as1234567 şeklinde bile geçse bunu bulsun ve silsin istiyorum
 
ömer baran bey öncelikle ilginize alakanıza teşekkür ederim.
turist hocam sizede teşekkürler saygılar.
hocam yuklediğim excelde 1. sayfayı diğer sayfalarda arayıp bulursa diğer sayfalarda bulduğu hücrenin olduğu satırın komple silinmesini istiyorum.
yani 1. sayfadakiler kalabilir onları ben tespit edip giriyorum zaten. o rakamlar hata oluyor. hataları diğer sayfalarda arayıp bulduğu hücrenin satırını silmek istiyorum.
birde yukarıda açıklamaya çalıştım ama. örneğin 1234567 rakamını aratıyoruz diğer sayfalarda hucre içeriğinde ab1238547as1234567 şeklinde bile geçse bunu bulsun ve silsin istiyorum

Cevabı mesajla bildirdim. Bakınız.
 
hocam yine derdimize derman oldunuz tesekkurler.
yalnız ben excelde giriş seviyesi kadar bilgiye sahibim ve makrolarla ilgili en küçük bilgim yok. işin kolaycılığı olarak görebilirsiniz ama module yazıp sonrasında tuş ekleyip çalıştırma kısmını açıklayabilmenizde mümkün mü ?
bir de doctus diye bir site vardı şuan aktif değil. orada aynı rumuzla yönetim ekibinde miydiniz.
birde ornek olarak taranmasını istediğimiz birinci sayfada 123456 rakamı var, 2. ,3., 4., .... sayfalarda bir hucrede ab199252123456 şeklinde geçiyor. hücre içindeki metinde bu 123456 yı yakalar yakalamaz siliyor mu. yoksa sadece 1. sayfada geçtiği gibi benzersiz olarak yakalarsamı siliyor. bana 1. şıktaki şekilde lazım.

Mesajla bilgi verdim. Bakınız.
 
turist hocam Allah razı olsun süpersin. Beni okadar büyük bir dertten kurtardın ki anlatamam.
Birde bunun bul ve sil değilde bul ve işaretle sinden yaparak bulduğunu silmeden hücre rengini boyayarak işareyetleninden yapabilirmisin hocam
 
LİNK'ten dosyanızı indirebilirsiniz.
 
hocam çok teşekkür ederim. bulunmaz bir yardım oldu.
aynı zamanda bir kamu hizmeti de yapmış oldunuz :)
 
Geri
Üst