Veri Yenileme Satır Satır Farklı Olanları Renklendirme

Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Merhaba Aşagıdaki kod sayfa1 den hücreleri kopyalıyor fakat eşit olmayanları sayfa1de renklendirme yapmıyor . yardımcı olabilirmsiniz . Yada daha iyi çözümü olan varsada olur sql gelen bilgide farklılık olmuşmu diye kontrol etmek istiyorum
Kod:
Sub DegisiklikKontrol()
Dim s1 As Worksheet, s2 As Worksheet
Dim son As Long

Set s1 = ThisWorkbook.Sheets("Sayfa1")
Set s2 = ThisWorkbook.Sheets("Gecici")
s2.Cells.Clear

son = s1.Range("A" & Rows.Count).End(3).Row
s1.Range("A1:C" & son).Copy s2.Cells(1, 1)

Call Yenile

For x = 1 To son
    For y = 1 To 3
        If s1.Cells(x, y) <> s2.Cells(x, y) Then
            s1.Cells(x, y).Interior.Color = vbRed
        End If
    Next y
Next x

End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Örnek dosyanızı ekleyin kontrol edelim ama kodlara bakılırsa bir sorun görünmüyor.
 
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Merhaba hocam dosyayı ekledim. Verileri yenile yaptıgımda c sutunundaki tutarlarda farklılık oldugunda renk olması lazım.Teşekkür ederim
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Eklediğiniz dosyada kod yok, neyi nasıl kontrol edeceğiz?
Dosyanızda var olan hiçbir kodu silmemelisiniz.
 
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Merhaba zaten dosyada kod yok hocam . Dışveri al ile sqlden bilgi almaktayım . Butona activeworkbook.refreshall ile yenile yapıyorum. Kodlar da üste zaten o kod dediğim gibi farkları yenile yapmıyordu
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Ben bu hali ile nasıl karşılaştırma yapacağım?
Kodda bir sorun yok. Eğer hücreler arasında bir farklılık olsa Sayfa1 de mutlaka hücreyi kırmızı yapar.
Demek ki sqlden gelen veri aynı, farklı değil.
 
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Hocam önce sayfa1 deki leri kopyalayıp gecici sayfasına yapıstırıyor ondan sonra fark varmı hücrede kontrol edemiyor kendiniz deneyebiliryisiz ben size sql kodlarımı veriyim ne istiyorsunuz benden peki
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Kodları çalıştırdığımda Call Yenile kodları olmadığı için hata veriyor.
Bu satırı silip kodları çalıştırmanın da bir mantığı yok. Çünkü kopyaladığı şeyin aynısını kontrol ediyor ve zaten aynı veriler olduğu için hiçbir hücre kırmızıya boyanmıyor.
 
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Manuel hücre değiştirin hocam sanki sqlden değişmiş gibi yaparsınız call yenile sildinix zaten c sütunundaki herhangi hücrenin tutarını değiştirn renk yine değişmesi lazım değilmi sorun orda çalışmıyor for kısmı
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
O zaman kodların nasıl çalıştığını izah etmeliyim.
Manuel değişiklik yapsanız da Gecici sayfasını kodlar sildiği için bir işe yaramıyor.

Aşağıdaki kodları bir kod sayfasına kopyalayın, yeşil renkli açıklamaları okuyun.

Kod:
Sub DegisiklikKontrol()
Dim s1 As Worksheet, s2 As Worksheet
Dim son As Long
Set s1 = ThisWorkbook.Sheets("Sayfa1")
Set s2 = ThisWorkbook.Sheets("Gecici")
s2.Cells.Clear 'Gecici adlı sayfayı sil. Manuel değişiklik yapmak hiçbir şey ifade etmiyor çünkü burada Gecici sayfası siliniyor.
son = s1.Range("A" & Rows.Count).End(3).Row
s1.Range("A1:C" & son).Copy s2.Cells(1, 1) ' Sayfa1 A:C sütunlarını Gecici sayfasına kopyala.
'Buradan sonra Sayfa1 ile Gecici sayfaları aynı.
Call Yenile 'Burada Yenile adlı bir prosedüre(makro-kod) çalıştırılıyor. İçeriğini bilmediğim için açıklama yapamıyorum.
'Sayfa1 ile Gecici de var olan veriler zaten aynı olduğu için aşağıdaki kontrolde herhangi bir işlem yapılmıyor.
For x = 1 To son
    For y = 1 To 3
        If s1.Cells(x, y) <> s2.Cells(x, y) Then
            s1.Cells(x, y).Interior.Color = vbRed
        End If
    Next y
Next x
End Sub
Sanırım sorun kodların ne yaptığını bilmemenizden kaynaklanıyor.

Yenile adlı kodları bilseydim yada orijinal dosyanızı gönderseydiniz konu bu kadar uzamaz daha hızlı cevap bulabilirdiniz.
Umarım şimdi anlaşılmış ve sorun çözülmüştür.
 
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Merhaba hocam öncelikle sabrınız için teşekkür ederim. Sqlden veri çektiğimde hızlı veri aktarımı oldugu için dediğiniz gibi değişikliği algılamıyor . Arkaplan yenilemesini tikini kaldırıp denedim. Sıkıntısız şekilde renklendirme yaptı. Teşekkür ederim tekrardan
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Kolay gelsin. Güzel çalışmalar.
 
Üst