• DİKKAT

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

Soru karşılaştırılıp bulma

  • Konbuyu başlatan Konbuyu başlatan khun
  • Başlangıç tarihi Başlangıç tarihi

khun

Altın Üye
Katılım
16 Şubat 2006
Mesajlar
52
sayın üstatlarım
dosyada sunulan sayfa1 de ve sayfa2 de sarı renkli sütunlarda yer alan da ve parsellere karşı gelen işletme isim ve soy isimlerin karşılaştırılıp aynı olanların yeşil farklı olanların kırmızı renk ile gösterilmesi hususunda yardımınız gerekli..şimdiden teşekkürler
 

Ekli dosyalar

Profilinizde hangi sürümü kullandığınız yazmıyor. Bu bilgiler verilecek cevaplar için önem arz ediyor. Lütfen bu bilgileri doldurunuz.

Yeni versiyon kullanıyorsanız aşağıdaki işlemleri uygulayınız. Eğer eski versiyon kullanıyorsanız TOPLA.ÇARPIM fonksiyonunu kullanmanız gerekecektir.

YENİ sayfasında A5:G3368 aralığını seçiniz.
Koşullu Biçimlendirme yeni kural diyerek formül bölümünü açınız.

Formül kutusuna aşağıdaki formülü uygulayınız.

C++:
=ÇOKEĞERSAY(ESKI!$B$5:$B$10000;$B5;ESKI!$C$5:$C$10000;$C5;ESKI!$E$5:$E$10000;$E5;ESKI!$F$5:$F$10000;$F5)=0

Biçimlendirme menüsünden KIRMIZI rengi seçip tamam deyin.

Sonra tekrar yeni kural ekleyip formül bölümünü açınız.

Bu sefer aşağıdaki formülü uygulayınız.

C++:
=ÇOKEĞERSAY(ESKI!$B$5:$B$10000;$B5;ESKI!$C$5:$C$10000;$C5;ESKI!$E$5:$E$10000;$E5;ESKI!$F$5:$F$10000;$F5)>0

Biçimlendirme menüsünden YEŞİL rengi seçip tamam deyin.

İşlemleri doğru yaparsanız sorun çıkmaması gerekir.
 
korhan bey emeğiniz için teşekkür ederim,
LAKİN KONTROL ETTİĞİMİZDE ÖRNEK OLARAK 101 ADA 6 PARSEL NOLU OLAN SULTAN KAPLAN VE GÜLSÜM KAPLAN YEŞİL RENKTE OLMASI GEREKİRKEN KIRMIZI BİÇİMLENDİRME ALDI OYSAKİ HER İKİ SAYFADADA MEVCUT (FARKLI OLANLARIN KIRMIZI OLMASI GEREKİR)
 
Eksikliğin sebebi sanıyorum dosyanızda hissedarlardan sadece birinin karşısında ada parsel numarası yazıyor, diğerlerinde yazmıyor. Karşılaştırma yapılırken ise her satırda ayrı ayrı ada parsel numaralarına bakılıyor. Bunlar boş olduğu için de istediğiniz işlem gerçekleşmiyor. O hücrelere de ada parselleri yazarsanız formül doğru çalışacaktır diye düşünüyorum.
 
yusuf bey manuel olarak değilde excellde o boşlukları doldurabiliyormuyuz
 
Aşağıdaki makroyu bir modüle kopyalayıp çalıştırdığınızda boş satırlara üstteki ada parsel numaralarını ekler:

PHP:
Sub doldur()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
With Sheets("YENI")
    sonA = .Cells(Rows.Count, "A").End(3).Row
    sonB = .Cells(Rows.Count, "B").End(3).Row
    sonC = .Cells(Rows.Count, "C").End(3).Row
    sonD = .Cells(Rows.Count, "D").End(3).Row
    sonE = .Cells(Rows.Count, "E").End(3).Row
    sonF = .Cells(Rows.Count, "F").End(3).Row
    son = WorksheetFunction.Max(sonA, sonB, sonC, sonD, sonE, sonF)
    For ada = 6 To son
        If .Cells(ada, "E") <> .Cells(ada - 1, "E") Then
            .Cells(ada, "E") = .Cells(ada - 1, "E")
        End If
    Next
    For parsel = 6 To son
        If .Cells(parsel, "F") <> .Cells(parsel - 1, "F") Then
            .Cells(parsel, "F") = .Cells(parsel - 1, "F")
        End If
    Next
End With
With Sheets("ESKI")
    sonA = .Cells(Rows.Count, "A").End(3).Row
    sonB = .Cells(Rows.Count, "B").End(3).Row
    sonC = .Cells(Rows.Count, "C").End(3).Row
    sonD = .Cells(Rows.Count, "D").End(3).Row
    sonE = .Cells(Rows.Count, "E").End(3).Row
    sonF = .Cells(Rows.Count, "F").End(3).Row
    son = WorksheetFunction.Max(sonA, sonB, sonC, sonD, sonE, sonF)
    For ada = 6 To son
        If .Cells(ada, "E") <> .Cells(ada - 1, "E") Then
            .Cells(ada, "E") = .Cells(ada - 1, "E")
        End If
    Next
    For parsel = 6 To son
        If .Cells(parsel, "F") <> .Cells(parsel - 1, "F") Then
            .Cells(parsel, "F") = .Cells(parsel - 1, "F")
        End If
    Next
End With
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Calculate
End Sub
 
Nasıl bir hata verdi, dosyayı hatalı haliyle yükler misiniz?
 
İlk dosyanızda ilk sayfanın adı YENİ iken bu dosyanızda YENI olmuş. Sayfa adını koddaki gibi YENI yapıp deneyin.
 
bu seferde ada numarasının yanında olan parsel numaralarını hep aynı almakta örneğin 101 ada 16 parsel var.. makrom çalıştığında tüm parseller 1 noyu alıyor..bunu almamaması gerekir..
 
Boş olan hücrelerde ' karakteri olduğundan hata oluşuyor sanıyorum. Eski kodu iptal edip aşağıdaki kodu deneyin:

PHP:
Sub doldur()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
With Sheets("YENI")
    sonA = .Cells(Rows.Count, "A").End(3).Row
    sonB = .Cells(Rows.Count, "B").End(3).Row
    sonC = .Cells(Rows.Count, "C").End(3).Row
    sonD = .Cells(Rows.Count, "D").End(3).Row
    sonE = .Cells(Rows.Count, "E").End(3).Row
    sonF = .Cells(Rows.Count, "F").End(3).Row
    son = WorksheetFunction.Max(sonA, sonB, sonC, sonD, sonE, sonF)
    For ada = 6 To son
        If IsNumeric(.Cells(ada, "E")) = False Then
            .Cells(ada, "E") = .Cells(ada - 1, "E")
        End If
    Next
    For parsel = 6 To son
        If IsNumeric(.Cells(parsel, "F")) = False Then
            .Cells(parsel, "F") = .Cells(parsel - 1, "F")
        End If
    Next
End With
With Sheets("ESKI")
    sonA = .Cells(Rows.Count, "A").End(3).Row
    sonB = .Cells(Rows.Count, "B").End(3).Row
    sonC = .Cells(Rows.Count, "C").End(3).Row
    sonD = .Cells(Rows.Count, "D").End(3).Row
    sonE = .Cells(Rows.Count, "E").End(3).Row
    sonF = .Cells(Rows.Count, "F").End(3).Row
    son = WorksheetFunction.Max(sonA, sonB, sonC, sonD, sonE, sonF)
    For ada = 6 To son
        If IsNumeric(.Cells(ada, "E")) = False Then
            .Cells(ada, "E") = .Cells(ada - 1, "E")
        End If
    Next
    For parsel = 6 To son
        If IsNumeric(.Cells(parsel, "F")) = False Then
            .Cells(parsel, "F") = .Cells(parsel - 1, "F")
        End If
    Next
End With
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Calculate
End Sub
 
yusuf bey çok teşekkür ederim emeğinize sağlık bununla bir çok konuyu çözebileceğim artık
 
Geri
Üst