• DİKKAT

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

İki Listeyi Belirli kriterlere göre karşılaştırma

  • Konbuyu başlatan Konbuyu başlatan tigiy
  • Başlangıç tarihi Başlangıç tarihi
57 nolu mesajdaki kodu denedinizmi ?


Test sayfasında 13 satır ile
müşteri sayfası 15 satır, müşteri sayfası 264 satır ve müşteri sayfası 265 satırlar aynı
(Tarih, Fatura numarası ve tutarı birebir tutanlar) böylemi olacak.
 
57 nolu mesajdaki kodu denedinizmi ?


Test sayfasında 13 satır ile
müşteri sayfası 15 satır, müşteri sayfası 264 satır ve müşteri sayfası 265 satırlar aynı
(Tarih, Fatura numarası ve tutarı birebir tutanlar) böylemi olacak.

Hayır hocam o şekilde değil
sadece Test sayfasında 13 satır ile
müşteri sayfası 15 satır "Tarih, Fatura numarası ve tutarı birebir tutanlar" olmalı
müşteri sayfası 264 satır ve müşteri sayfası 265 satırlar için sonuç
"Tarihi ve tutarı aynı olan fatura numarasında farklılık olanlar" olacak.

57. nolu mesajdaki kod sizin dediğinizi yapıyor ama ben yukarda açıkladığım gibi olsun istiyorum
 
kod burada çok iş yapıyor o zaman öncelikli tercihler belirlenmeli mesela aşağıdaki gibi

1- Tarih, Fatura numarası ve tutarı birebir tutanlar
2- Tarihi ve fatura numarası aynı olup tutarı farklı olanlar
3- Tarihi ve tutarı aynı olan fatura numarasında farklılık olanlar
4- Fatura numarası ve tutarı birebir tutanlar
5- Tarih, Fatura numarası ve tutarı olmayanlar

siz bu tercihleri sıraya koyun o zaman
 
bu dosyayı kontrol et
komut düğmelerine sırası ile tıkla birden dörde kadar olan düğmeler tek işlem yapmakta beşinci düğme farklı işlem yapmakta altıncı düğme ilk dört düğmenin işini yapmakta

E sütünundaki değerler ile ilgili açıklama

E4 hücresi için açıklama

D5_T5_E5_E266_E267_H5 böyle bir değer var.

Burada alt tire ayırım ile ilgilidir.

D5 T5 E5 E266 E267 H5 değerler böyle bunların anlamları ise harfler bağımsız olarak rasgele virlmiştir ama sayılar

5 5 5 266 5 değerleri müşteri sayfasının satırlarını ifade etmektedir

yani burada 5 ve 266 satır vardır bu satırlardaki bilgiler ile
test sayfasındaki 4 satır ardaki bilgiler işit anlamına geliyor.
 

Ekli dosyalar

bu dosyayı kontrol et
komut düğmelerine sırası ile tıkla birden dörde kadar olan düğmeler tek işlem yapmakta beşinci düğme farklı işlem yapmakta altıncı düğme ilk dört düğmenin işini yapmakta

E sütünundaki değerler ile ilgili açıklama

E4 hücresi için açıklama

D5_T5_E5_E266_E267_H5 böyle bir değer var.

Burada alt tire ayırım ile ilgilidir.

D5 T5 E5 E266 E267 H5 değerler böyle bunların anlamları ise harfler bağımsız olarak rasgele virlmiştir ama sayılar

5 5 5 266 5 değerleri müşteri sayfasının satırlarını ifade etmektedir

yani burada 5 ve 266 satır vardır bu satırlardaki bilgiler ile
test sayfasındaki 4 satır ardaki bilgiler işit anlamına geliyor.

Hocam süper ötesi bir şey allah razı olsun gerçekten çok uğraşmışsınız müthiş olmuş elinize sağlık yanlız

D5 T5 E5 E266 E267 H5 değerler böyle bunların anlamları ise harfler bağımsız olarak rasgele virlmiştir ama sayılar

5 5 5 266 5 değerleri müşteri sayfasının satırlarını ifade etmektedir

yani burada 5 ve 266 satır vardır bu satırlardaki bilgiler ile
test sayfasındaki 4 satır ardaki bilgiler işit anlamına geliyor.

Şu bölümü anlamadım

D5 T5 E5 E266 E267 H5 burada 3 tane mi 5. satır var müşteri sayfasında.

Son olarakta 5. düğme ve 6. düğmenin tam fonkisyonları neler acaba?
 
Hocam süper ötesi bir şey allah razı olsun gerçekten çok uğraşmışsınız müthiş olmuş elinize sağlık yanlız



Şu bölümü anlamadım

D5 T5 E5 E266 E267 H5 burada 3 tane mi 5. satır var müşteri sayfasında.

Son olarakta 5. düğme ve 6. düğmenin tam fonkisyonları neler acaba?

evet üç tane beş var bunun anlamı ilgili satırın diğer sayfadaki 5,266,267 satırlarla uyum içinde olduğunu gösteriyor.

5.satırın üç tane olması şunu ifade ediyor ilgili satır üç katagoride uyum içinde yani

örnek

1-fatura no ve tutarı aynı
2-tarih ve fatura no aynı
3-tarih fatura no ve tutarı aynı

bunun gibi

yukarıdaki ilk üç seçenek gibi

aşağıdaki kodun bir kısmında bunlar mevcut kırmızı yerleri ben yazdım sizde farklı harfler yazabilirsiniz.

Kod:
If Sheets("TEST").Cells(r, "e") = "" Then
Sheets("TEST").Cells(r, "e") = [COLOR="Red"]"D"[/COLOR] & i & Sheets("TEST").Cells(r, "e")
Else
Sheets("TEST").Cells(r, "e") = Sheets("TEST").Cells(r, "e") & [COLOR="red"]"_D"[/COLOR] & i
End If

If Sheets("MÜŞTERİ").Cells(i, "e") = "" Then
Sheets("MÜŞTERİ").Cells(i, "e") = [COLOR="red"]"D"[/COLOR] & r & Sheets("MÜŞTERİ").Cells(i, "e")
Else
Sheets("MÜŞTERİ").Cells(i, "e") = Sheets("MÜŞTERİ").Cells(i, "e") & [COLOR="red"]"_D"[/COLOR] & r
End If

bu uygulama bütün kodlarda mevcut.
 
evet üç tane beş var bunun anlamı ilgili satırın diğer sayfadaki 5,266,267 satırlarla uyum içinde olduğunu gösteriyor.

5.satırın üç tane olması şunu ifade ediyor ilgili satır üç katagoride uyum içinde yani

örnek

1-fatura no ve tutarı aynı
2-tarih ve fatura no aynı
3-tarih fatura no ve tutarı aynı

bunun gibi

yukarıdaki ilk üç seçenek gibi

aşağıdaki kodun bir kısmında bunlar mevcut kırmızı yerleri ben yazdım sizde farklı harfler yazabilirsiniz.

Kod:
If Sheets("TEST").Cells(r, "e") = "" Then
Sheets("TEST").Cells(r, "e") = [COLOR="Red"]"D"[/COLOR] & i & Sheets("TEST").Cells(r, "e")
Else
Sheets("TEST").Cells(r, "e") = Sheets("TEST").Cells(r, "e") & [COLOR="red"]"_D"[/COLOR] & i
End If

If Sheets("MÜŞTERİ").Cells(i, "e") = "" Then
Sheets("MÜŞTERİ").Cells(i, "e") = [COLOR="red"]"D"[/COLOR] & r & Sheets("MÜŞTERİ").Cells(i, "e")
Else
Sheets("MÜŞTERİ").Cells(i, "e") = Sheets("MÜŞTERİ").Cells(i, "e") & [COLOR="red"]"_D"[/COLOR] & r
End If

bu uygulama bütün kodlarda mevcut.

Anladım hocam çok teşekkürler gerçekten allah razı olsun
 
Sorunuz çözüldümü

beş ve altıncı düğme ilk dört düğmenin birleştirilmiş işlemini yapıyor
altıncı düğme bire bir aynı beşinci düğme ise farklı bir uygulama
 
Kodun içindeki harfleri kaldırdım.
Örnek olarak test sayfasındaki E11 hücresindeki (16_16_16_16) bu değer müşteri sayfasının E16 hücresini kontrol eder aynı şekilde müşteri sayfasındaki E16 hücresindeki (11_11_11_11) bu değer test sayfaındaki E11 hücresini kontrol eder

örnek olarak buradaki (16_16_16_16) bu değer 4 adet 16 satırını ifade eder yani 4 katagoride eşitlik olduğunu söyler bu sonuç da aranan sonuçtur.
 

Ekli dosyalar

Halit hocam şöyle bir hata mevcut.

Eğer sayfa 1 deki satır sayısı sayfa2den az olursa "Subscript out of range" hatası veriyor
 
Halit hocam şöyle bir hata mevcut.

Eğer sayfa 1 deki satır sayısı sayfa2den az olursa "Subscript out of range" hatası veriyor

küçük hata gözden kaçmış

Kod:
ReDim ara1(son1): ReDim ara2(son1): ReDim ara3(son1): ReDim ara4(son1): ReDim ara5(son1)
ReDim bul1(son1): ReDim bul2(son1): ReDim bul3(son1): ReDim bul4(son1): ReDim bul5(son1): ReDim bul6(son1): ReDim bul7(son1): ReDim bul8(son1)
ReDim veri1(son1): ReDim veri2(son1): ReDim veri3(son1): ReDim veri4(son1): ReDim veri5(son1): ReDim veri6(son1)

Yukarıdaki bölümleri aşağıdaki ile değiştirin.

Kod:
ReDim ara1(son1): ReDim ara2(son1): ReDim ara3(son1): ReDim ara4(son1): ReDim ara5(son1)
ReDim bul1([COLOR="red"]son2[/COLOR]): ReDim bul2([COLOR="red"]son2[/COLOR]): ReDim bul3([COLOR="red"]son2[/COLOR]): ReDim bul4([COLOR="red"]son2[/COLOR]): ReDim bul5([COLOR="red"]son2[/COLOR]): ReDim bul6([COLOR="red"]son2[/COLOR]): ReDim bul7([COLOR="red"]son2[/COLOR]): ReDim bul8([COLOR="red"]son2[/COLOR])
ReDim veri1(son1): ReDim veri2(son1): ReDim veri3(son1): ReDim veri4([COLOR="red"]son2[/COLOR]): ReDim veri5([COLOR="red"]son2[/COLOR]): ReDim veri6([COLOR="Red"]son2[/COLOR])
 
Halit hocam şöyle bir hata mevcut.

Eğer sayfa 1 deki satır sayısı sayfa2den az olursa "Subscript out of range" hatası veriyor

64 ve 65 numaralı mesajlardaki dosyaların içindeki kodlar bu doğrultuda düzenlendi.
 
küçük hata gözden kaçmış

Kod:
ReDim ara1(son1): ReDim ara2(son1): ReDim ara3(son1): ReDim ara4(son1): ReDim ara5(son1)
ReDim bul1(son1): ReDim bul2(son1): ReDim bul3(son1): ReDim bul4(son1): ReDim bul5(son1): ReDim bul6(son1): ReDim bul7(son1): ReDim bul8(son1)
ReDim veri1(son1): ReDim veri2(son1): ReDim veri3(son1): ReDim veri4(son1): ReDim veri5(son1): ReDim veri6(son1)

Yukarıdaki bölümleri aşağıdaki ile değiştirin.

Kod:
ReDim ara1(son1): ReDim ara2(son1): ReDim ara3(son1): ReDim ara4(son1): ReDim ara5(son1)
ReDim bul1([COLOR="red"]son2[/COLOR]): ReDim bul2([COLOR="red"]son2[/COLOR]): ReDim bul3([COLOR="red"]son2[/COLOR]): ReDim bul4([COLOR="red"]son2[/COLOR]): ReDim bul5([COLOR="red"]son2[/COLOR]): ReDim bul6([COLOR="red"]son2[/COLOR]): ReDim bul7([COLOR="red"]son2[/COLOR]): ReDim bul8([COLOR="red"]son2[/COLOR])
ReDim veri1(son1): ReDim veri2(son1): ReDim veri3(son1): ReDim veri4([COLOR="red"]son2[/COLOR]): ReDim veri5([COLOR="red"]son2[/COLOR]): ReDim veri6([COLOR="Red"]son2[/COLOR])

Hocam Gruplandı4 ve Gruplandır6 da
Kod:
If bul4(i) = ara4(r) And veri3(i) <> veri6(r) Then

bu satırda"Subscript out of range" hatası veriyor
 
Döngülerde karışıklık olmuş ilgili linklerdeki dosyaları güncelledim.

Kod:
If bul4(i) = ara4(r) And veri3([COLOR="red"]i[/COLOR]) <> veri6([COLOR="red"]r[/COLOR]) Then

Yuakrıdaki yanlış olması gereken aşağıdaki gibi
Kod:
If bul4(i) = ara4(r) And veri3([COLOR="red"]r[/COLOR]) <> veri6([COLOR="Red"]i[/COLOR]) Then
 
Döngülerde karışıklık olmuş ilgili linklerdeki dosyaları güncelledim.

Kod:
If bul4(i) = ara4(r) And veri3([COLOR="red"]i[/COLOR]) <> veri6([COLOR="red"]r[/COLOR]) Then

Yuakrıdaki yanlış olması gereken aşağıdaki gibi
Kod:
If bul4(i) = ara4(r) And veri3([COLOR="red"]r[/COLOR]) <> veri6([COLOR="Red"]i[/COLOR]) Then

Hocam gruplandır6 da "Block if without endif" hatası veriyor
 
Faturar Tutarı kolonunun hücre formatı sayfaların birinde isteğe uyarlanmış diğerinde Finansal ayarlandığından yanlış sonuç veriyor. İki sayfadaki ilgili kolonların hücre formatlarını aynı yaparsanız sorun ortadan kalkıyor.
Hocam Makroyu
Yeni Kodlar

Kod:
Sub Karsilastir_(SAYFA1 As Worksheet, SAYFA2 As Worksheet)
    Dim Bak1 As Range
    Dim Bak2 As Range
   
    Dim No As Boolean
    Dim Tutar As Boolean
   
    For Each Bak1 In SAYFA1.Range("A2:A" & SAYFA1.Range("A65000").End(3).Row)
        Bak1.Offset(0, 3).Value = "YOK"
        For Each Bak2 In SAYFA2.Range("A2:A" & SAYFA2.Range("A65000").End(3).Row)
            If Bak1.Value = Bak2.Value Then
               
                If Bak1.Offset(0, 1).Value = Bak2.Offset(0, 1).Value Then
                    No = True
                End If
                If Bak1.Offset(0, 2).Value = Bak2.Offset(0, 2).Value Then
                    Tutar = True
                End If
                If No And Tutar Then
                    Bak1.Offset(0, 3).Value = "Y"
                ElseIf No Then
                    Bak1.Offset(0, 3).Value = "Tarih ve Fatura numarası tutuyor Tutar farklı"
                ElseIf Tutar Then
                    Bak1.Offset(0, 3).Value = "Tarih ve Tutar tutuyor Fatura numarası Farklı"
                End If
                If No Or Tutar Then
                    No = False
                    Tutar = False
                    Exit For
                End If
            Else
                If Bak1.Offset(0, 1).Value = Bak2.Offset(0, 1).Value And _
                    Bak1.Offset(0, 2).Value = Bak2.Offset(0, 2).Value Then
                    Bak1.Offset(0, 3).Value = "X"
                    Exit For
                ElseIf Bak1.Value = "" And Bak1.Offset(0, 1).Value = "" And _
                    Bak1.Offset(0, 2).Value = "" Then
                    Bak1.Offset(0, 3).Value = "BOŞ"
                    Exit For
                End If
            End If
           
        Next
    Next
End Sub
hocam kodu kopyaladım çalıştıramadım
 
Geri
Üst