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

Katılım
16 Şubat 2006
Mesajlar
48
Altın Üyelik Bitiş Tarihi
15-05-2021
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

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,438
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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.
 
Katılım
16 Şubat 2006
Mesajlar
48
Altın Üyelik Bitiş Tarihi
15-05-2021
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)
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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.
 
Katılım
16 Şubat 2006
Mesajlar
48
Altın Üyelik Bitiş Tarihi
15-05-2021
yusuf bey manuel olarak değilde excellde o boşlukları doldurabiliyormuyuz
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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
 
Katılım
16 Şubat 2006
Mesajlar
48
Altın Üyelik Bitiş Tarihi
15-05-2021
hata verdi rica etsem dosyaya eklermisiniz
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Nasıl bir hata verdi, dosyayı hatalı haliyle yükler misiniz?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
İlk dosyanızda ilk sayfanın adı YENİ iken bu dosyanızda YENI olmuş. Sayfa adını koddaki gibi YENI yapıp deneyin.
 
Katılım
16 Şubat 2006
Mesajlar
48
Altın Üyelik Bitiş Tarihi
15-05-2021
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..
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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
 
Katılım
16 Şubat 2006
Mesajlar
48
Altın Üyelik Bitiş Tarihi
15-05-2021
yusuf bey çok teşekkür ederim emeğinize sağlık bununla bir çok konuyu çözebileceğim artık
 
Üst