• DİKKAT

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

Sayfalarda karşılaştırma yapılması hk.

1903emre34@gmail.com

Altın Üye
Katılım
29 Mayıs 2016
Mesajlar
945
Excel Vers. ve Dili
Microsoft Excel 2013 Türkçe
Merhaba,

Sayfa1'deki ana hesap kodlarının bir tarafta (Borç bakiyesi), diğer tarafta (alacak bakiyesi) aynı tutarsa sayfa2'de formül aracılığıyla DOĞRU veya YANLIŞ kelimesi getirmektedir. Çok fazla satır olduğu zaman, excel kasmaktadır. makro ile yapabilir miyiz

Kullanılan formül,

KAYDIR(Sayfa1!$H$1;KÜÇÜK(EĞER(Sayfa1!$E:$E=$A2;SATIR(Sayfa1!$E:$E));1)-1;0)=KAYDIR(Sayfa1!$I$1;BÜYÜK(EĞER(Sayfa1!$E:$E=$A2;SATIR(Sayfa1!$E:$E));1)-1;0)
 

Ekli dosyalar

Merhaba Ekte makrolu çözüm vardır yada aşagıdaki formül ilede yapabilirsiniz
Kod:
=EĞER(ETOPLA(Sayfa1!E:E;A2;Sayfa1!H:H)=ETOPLA(Sayfa1!E:E;A2;Sayfa1!I:I);"DOĞRU";"YANLIS")
 

Ekli dosyalar

Kod:
Sub kod()
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
Set d1 = CreateObject("scripting.dictionary")
Set d2 = CreateObject("scripting.dictionary")
    son = s1.Cells(Rows.Count, 5).End(3).Row
    a = s1.Range("E2:I" & son).Value
        For i = 1 To UBound(a)
            deg = CStr(a(i, 1))
            d1(deg) = d1(deg) + a(i, 4)
            d2(deg) = d2(deg) + a(i, 5)
        Next i
    son = s2.Cells(Rows.Count, 1).End(3).Row
    a = s2.Range("A2:A" & son).Value
    sat = UBound(a)
    ReDim b(1 To sat, 1 To 1)
        For i = 1 To sat
            deg = CStr(a(i, 1))
            If d1.exists(deg) Then
                If d1(deg) = d2(deg) Then
                    b(i, 1) = "DOĞRU"
                Else
                    b(i, 1) = "YANLIŞ"
                End If
            Else
                b(i, 1) = ""
            End If
        Next i
    s2.[B2].Resize(sat) = b
MsgBox "İşlem tamam.", vbInformation
End Sub
 
Geri
Üst