Listeleri Karşılaştırma

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Liste2 sayfasında iken,

Ad Tanımlama menüsünden,

Liste1data adını vererek,

=[Liste1.xls]Sayfa1!$A:$A

formülünü yazın.

Daha sonra Liste2 sayfasında A2:A100 ( 100 değerini değiştirebilirsiniz. ) işaretleyerek

koşullu biçimlendirmeden formül bölümüne,

=VE(A2<>"";EĞERSAY(Liste1data;A2)>0)

yazın ve biçimden istediğiniz rengi seçerek tam butonuna basın.

.
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
yanıt

İki kitapta açık olmalı
Kod:
Sub listekarsilastir()
Dim sat1, sat2 As Long
Dim k1, k2
Set k1 = Workbooks("Liste1").Sheets("Sayfa1")
Set k2 = Workbooks("Liste2").Sheets("Sayfa1")
k2.[a1:a1000].Font.ColorIndex = 0
    For sat1 = 2 To k1.Cells(65536, "a").End(xlUp).Row
    For sat2 = 2 To k2.Cells(65536, "a").End(xlUp).Row
        If k1.Cells(sat1, "a") Like k2.Cells(sat2, "a") Then
            k2.Cells(sat2, "a").Font.ColorIndex = 3
        End If
    Next: Next
Set k1 = Nothing
Set k2 = Nothing
End Sub
 
Katılım
19 Kasım 2009
Mesajlar
19
Excel Vers. ve Dili
2007
Ömer Beyinkini denediğimde şöyle bir uyarı aldım:

"Koşullu Biçimlendirme ölçütü için diğer çalışma sayfalarına ya da çalışma kitaplarına yapılan başvurular kullanamazsınız"

Ziya Beyinkinde de:

Eğer yanlış yapmıyorsam Görünüm/Makrolar altına makroyu kaydetip çalıştırmaya çalışınca açılan pencerden Debug a tıklayınca aşağıdaki uyarı çıktı:

Sub listekarsilastir()
Dim sat1, sat2 As Long
Dim k1, k2
Set k1 = Workbooks("Liste1").Sheets("Sayfa1")
Set k2 = Workbooks("Liste2").Sheets("Sayfa1")
k2.[a1:a1000].Font.ColorIndex = 0
For sat1 = 2 To k1.Cells(65536, "a").End(xlUp).Row
For sat2 = 2 To k2.Cells(65536, "a").End(xlUp).Row
If k1.Cells(sat1, "a") Like k2.Cells(sat2, "a") Then
k2.Cells(sat2, "a").Font.ColorIndex = 3
End If
Next: Next
Set k1 = Nothing
Set k2 = Nothing
End Sub
 
Son düzenleme:

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
excel4 makrosu ile yapıldı.
Kodlar liste1 dosyasında.
Liste2 dosyası kapalı olabilir.:cool:
2 dosyada ayni klasörde olmalıdır.:cool:
Kod:
Sub renklendir()
Dim i As Long, son1 As Long, s As Long
Sheets("Sayfa1").Select
son1 = Cells(65536, "A").End(xlUp).Row
son2 = Application.ExecuteExcel4Macro("COUNTA('" & ThisWorkbook.Path & "\[Liste2.xls]Sayfa1'!C1)")
Range("A2:A65536").Interior.ColorIndex = xlNone
For i = 2 To son1
    For s = 2 To son2
        If Cells(i, "A").Value = Application.ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[Liste2]Sayfa1'!R" & s & "C1") Then
            Cells(i, "A").Interior.Color = vbGreen
            Exit For
        End If
    Next s
Next i
MsgBox "Renklendirme tamamlandı." & vbLf & vbLf & _
"evrengizlen@hotmail.com", vbOKOnly + vbInformation, "E V R E N"
End Sub
 

Ekli dosyalar

Katılım
19 Kasım 2009
Mesajlar
19
Excel Vers. ve Dili
2007
Öncelikle teşekkür ederim.

Peki bu kodu benzer excel dosyalarımda da kullanabilir miyim, nasıl?
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Öncelikle teşekkür ederim.

Peki bu kodu benzer excel dosyalarımda da kullanabilir miyim, nasıl?
Kullanabilirsiniz.
son2 değişkeni gibi isterseniz diğer kapalı dosyadaki son satırı bulabilirsiniz buradaki C1 Kolon 1 demektir Yani A sütunu için son satır,C2 Yazarsanız B sütunun iin yani 2nci kıln için son satırı bulabilirsiniz.
Diğer execute excel4 makrosu ilede hücreleri sorgulayıp verdide alabilirrsiniz.Buradada R2 satır1 C1 Kolon 1 dir yani A2dir.:cool:
R satırdir C sütundur.:cool:
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
Daha hızlı çalışabilir mi?

excel4 makrosu ile yapıldı.
Kodlar liste1 dosyasında.
Liste2 dosyası kapalı olabilir.:cool:
2 dosyada ayni klasörde olmalıdır.:cool:
Kod:
Sub renklendir()
Dim i As Long, son1 As Long, s As Long
Sheets("Sayfa1").Select
son1 = Cells(65536, "A").End(xlUp).Row
son2 = Application.ExecuteExcel4Macro("COUNTA('" & ThisWorkbook.Path & "\[Liste2.xls]Sayfa1'!C1)")
Range("A2:A65536").Interior.ColorIndex = xlNone
For i = 2 To son1
    For s = 2 To son2
        If Cells(i, "A").Value = Application.ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[Liste2]Sayfa1'!R" & s & "C1") Then
            Cells(i, "A").Interior.Color = vbGreen
            Exit For
        End If
    Next s
Next i
MsgBox "Renklendirme tamamlandı." & vbLf & vbLf & _
"evrengizlen@hotmail.com", vbOKOnly + vbInformation, "E V R E N"
End Sub
Merhabalar,
Bu kodları kullanarak farklı klasörlerde bulunan dosyalardan verileri karşılaştırma yapabiliyorum ancak işlem oldukça uzun zaman alıyor. İşlemin daha kısa sürmesi için bir yol bulunabilir mi acaba? Turbo falan mı takmalı ne yapmalı :) ?
 
Üst