• DİKKAT

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

AYNI OLMAYAN VERİ BUL

Katılım
1 Ekim 2017
Mesajlar
694
Excel Vers. ve Dili
2019 türkçe
İYİ ÇALIŞMALAR. EKLİ DOSYAMDA I SUTUNUNDA BULUNAN TC NUMARALI ŞAHISLAR B SUTUNUNDA YOKSA TÜM BİLGİLERİYLE O:T ARALIĞINA AKTARILSIN. ŞİMDİDEN TEŞEKKÜRLER.
 

Ekli dosyalar

Merhaba.

Yanlış anlamıyorsam, I:M sütun aralığındaki bilgiler, bulundukları yerden silinip O ve devamı sütunlara aktarılacak.
Rich (BB code):
Sub YuvarlatılmışDikdörtgen_Tıklat()
son = Cells(Rows.Count, "I").End(3).Row
For sat = 2 To son
    If WorksheetFunction.CountIf([B:B], Cells(sat, "I") & "") = 0 And _
        WorksheetFunction.CountIf([P:P], Cells(sat, "I")) = 0 Then
        satp = Cells(Rows.Count, "P").End(3).Row + 1
        Range("I" & sat & ":M" & sat).Copy Cells(satp, "P")
        Cells(satp, "O") = satp - 1
        Range("I" & sat & ":M" & sat).Delete Shift:=xlUp
        sat = sat - 1: son = son - 1
        If sat = son Then Exit For
    End If
Next
End Sub
 
Son düzenleme:
Merhaba.

Yanlış anlamıyorsam, I:M sütun aralığındaki bilgiler, bulundukları yerden silinip O ve devamı sütunlara aktarılacak.
Rich (BB code):
Sub O_AKTAR()
son = Cells(Rows.Count, "I").End(3).Row
For sat = 2 To son
    If WorksheetFunction.CountIf([B:B], Cells(sat, "I")) = 0 Then
        satp = Cells(Rows.Count, "P").End(3).Row + 1
        Range("I" & sat & ":M" & sat).Cut Cells(satp, "P")
        Cells(satp, "O") = satp - 1
        Range("I" & sat & ":M" & sat).Delete Shift:=xlUp
        sat = sat - 1: son = son - 1
        If sat = son Then Exit For
    End If
Next
End Sub
 
sayın ömer bey I sutununda bulunan tc ler b sutununda yoksa o sutununa aktarılsın. örneğin I9 HÜCRESİNDE 256 I 10 HÜCRESİNDE 300 VAR BUNLAR B SUTUNUDA YOK. OLMAYAN TC LER O SUTUNUNA AKTARILSIN
 

Ekli dosyalar

Şu an bilgisayar başında dağilim.
İlgili sayfa aktif iken kod'u çalıştırırsanız istenilen sonucun alınması lazım.
Hatalı bir işlem gerçekleşiyorsa bu durumu örneklendirerek açıklama yapın.
 
Şu an bilgisayar başında dağilim.
İlgili sayfa aktif iken kod'u çalıştırırsanız istenilen sonucun alınması lazım.
Hatalı bir işlem gerçekleşiyorsa bu durumu örneklendirerek açıklama yapın.
SAYIN ÖMER BEY TAM İSTEDİĞİM GİBİ OLMUŞ. AMA KODU ÇALIŞTIRDIĞIMDA DEVAMLI EKRAN KAYMASI OLUYOR VE BİTMİYOR.
 
Son düzenleme:
Aktarılan kaydın silinmemesi için, önceki kod cevabımı güncelledim,
sayfayı yenileyerek önceki kod cevabıma tekrar bakınız.
Kod'da;
-- mavi ve büyük karakterli hale getirdiğim yerdeki Cut kelimesini Copy olarak değiştirin,
-- kırmızı renklendirdiğim satırları silin veya o satırların sol başına TEK TIRNAK işareti ekleyin.
 
Aktarılan kaydın silinmemesi için, önceki kod cevabımı güncelledim,
sayfayı yenileyerek önceki kod cevabıma tekrar bakınız.
Kod'da;
-- mavi ve büyük karakterli hale getirdiğim yerdeki Cut kelimesini Copy olarak değiştirin,
-- kırmızı renklendirdiğim satırları silin veya o satırların sol başına TEK TIRNAK işareti ekleyin.
ömer bet cut yerine copy yazdım kırmızıları sildim. ı sutunundaki aktarılan bilgiler silinmedi
 
Ne istediğinizi bir anlasam!
I sütunundan O sütununa kayıt aktarıldıktan sonra,
-- I sütunundaki kayıt silinecekse kod'un önceki hali,
-- I sütunundaki kayıt silinmeyecekse de kod'un yeni hali
istenilen sonucu verir.

Kod tekrar çalıştırıldığında aynı kayıtların tekrar aktarılmaması için aşağıdaki kod satırına mavi kısmı ekleyin.
Rich (BB code):
If WorksheetFunction.CountIf([B:B], Cells(sat, "I")) = 0 And WorksheetFunction.CountIf([P:P], Cells(sat, "I")) = 0 Then
Tabi tüm cevaplarımda, I sütunundaki verilerin boşluksuz şekilde yapılmış bir liste olduğunu varsaymıştım.
 
Ne istediğinizi bir anlasam!
I sütunundan O sütununa kayıt aktarıldıktan sonra,
-- I sütunundaki kayıt silinecekse kod'un önceki hali,
-- I sütunundaki kayıt silinmeyecekse de kod'un yeni hali
istenilen sonucu verir.

Kod tekrar çalıştırıldığında aynı kayıtların tekrar aktarılmaması için aşağıdaki kod satırına mavi kısmı ekleyin.
Rich (BB code):
If WorksheetFunction.CountIf([B:B], Cells(sat, "I")) = 0 And WorksheetFunction.CountIf([P:P], Cells(sat, "I")) = 0 Then
Tabi tüm cevaplarımda, I sütunundaki verilerin boşluksuz şekilde yapılmış bir liste olduğunu varsaymıştım.
Sayın Ömer bey HAKKINIZI HELAL EDİN SİZİ RAHATSIZ EDİYORUM. DERDİMİ ANLATAMADIM. SİZ ÇÖZDÜNÜZ AMA BEN BOZDUM. KODUN İLK HALİ I sütunundaki kayıt silinecek ama olmuyor. dosyayı ekte gönderiyorum incelerseniz çok memnun olurumç
 

Ekli dosyalar

Önceki kod cevabım tekrar güncellendi.
Sorun olan kısım B sütunundaki değerlerin sayı gibi görünmesine rağmen METİN,
I sütunundakilerin ise SAYI olmalarıla ilgili imiş.
Kod'un yeni halini kullanabilirsiniz.

İlk WorksheetFunction.... kısmı B sütunundaki METİNSEL arama,
ikinci Worksheetfunction.... kısmıise aynı bilginin O sütununa daha önce aktarılıp aktarılmadığının kontrolü içindir.
 
Önceki kod cevabım tekrar güncellendi.
Sorun olan kısım B sütunundaki değerlerin sayı gibi görünmesine rağmen METİN,
I sütunundakilerin ise SAYI olmalarıla ilgili imiş.
Kod'un yeni halini kullanabilirsiniz.
ÇOK SAĞ OLUN ÖMER BEY OLDU.İYİ AKŞAMLAR VE İYİ ÇALIŞMALAR DİLİYORUM.
 
Geri
Üst