Soru Veri karşılaştırmada tablo farklılıklarını satır bazında listelemek

Katılım
29 Eylül 2017
Mesajlar
110
Excel Vers. ve Dili
professional_plus_2016 Türkçe
Altın Üyelik Bitiş Tarihi
24-06-2024
Selamlar;
Veri sayfasında bulunan iki listesini tonaj sütunlarına göre karşılaştırarak birbirinden farklı tonaja ait satırları yine Liste sayfasında bulunan tablolara satır bazında yazdırmak.
Yani ektre karşılaştırmasında sende var bende yok - bende var sende yok, eksiğimiz fazlalığımız bunlar şeklini ortaya çıkartabilmek için...
Yardımlarınızı rica eder, iyi çalışmalar dilerim.
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Eğer örnek dosyanızdaki fark hesabınız doğruysa, o sütuna göre süzme yapıp farklı olanları kopyalayın ve liste sayfasına yapıştırın. aynı işlemi diğer tablo için de yapın.
 
Katılım
29 Eylül 2017
Mesajlar
110
Excel Vers. ve Dili
professional_plus_2016 Türkçe
Altın Üyelik Bitiş Tarihi
24-06-2024
Aynı konuya bağlı olarak Soru ve Örnek Dosya yenilenmiştir.
Selamlar;
Burada yapılan işlem 2 tabloyu karşılaştırıyor. farklı tonaj satırını Fark Listesi sayfasına yazıyor. Fakat Firma-1 ve Firma-2 Satırının tamamını yazıyor...
Yapılması gereken; Fark verisi sayfasında Firma-1 tablosu üzerinde bulunan KARŞILAŞTIR tuşuna basıldığında Veri sayfasında Firma-1 tablosunu tonaj'a göre Firma-2 tablosuna bakacak ve olmayanları Fark verisi sayfasında Firma-1 tablosuna yazacak yine aynı şekilde Firma-2 tablosu üzerinde bulunan KARŞILAŞTIR tuşuna basıldığında Veri sayfasında Firma-2 tablosunu tonaj'a göre Firma-1 tablosuna bakacak ve olmayanları Fark verisi sayfasında Firma-2 tablosuna yazacak
YANİ; Firma-1 tonajını kontrol et Firma-2 tonajından olmayanları H:M'ye al yaz Fark Listesi Firma-1 A:F'ye
Firma-2 tonajını kontrol et Firma-1 tonajından olmayanları A:F al yaz Fark Listesi Firma-1 H:M'ye
(Birinde 3 satır farklı tonaj var iken diğerinde 5 satır farklı tonaj satır farkını görebilmemiz lazım... )
NOT: (Yardımcı olan abinin artık bilgisayarı olmadığı için uzaktan yardımcı olamamaktadır... Pandemi dolayısıyla ziyaretimize de gelemediği için... yardımcı olabileceğinizi umarak şimdiden teşekkür ederim. OKUROGLU3375)
 

Ekli dosyalar

Ö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,

Bakarken sadece tonaj kontrolümü yapacak, Yoksa tonajı kontrol ederken, malzeme türü, tarihi ve plakasını da dikkate alacak mı?
 
Katılım
29 Eylül 2017
Mesajlar
110
Excel Vers. ve Dili
professional_plus_2016 Türkçe
Altın Üyelik Bitiş Tarihi
24-06-2024
Ömer bey; Önemli olan Tarih plaka ve tonaj kontrolü, eğer yoksa satır bazında ilgili tabloya listesini yazacak teşekkürler...
 

Ö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
Aynı tarihte, plaka ve tonaj satırının birden fazla aynı olma duru mu var mı? Varsa kontrol nasıl olacak?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki makroları deneyiniz:

PHP:
Sub firmaA()
    Set s1 = Sheets("Veri")
    Set s2 = Sheets("Fark Listesi")
    sonA = WorksheetFunction.Max(17, s1.Cells(Rows.Count, "A").End(3).Row)
    eskiA = WorksheetFunction.Max(17, s2.Cells(Rows.Count, "A").End(3).Row)
    s2.Range("A17:F" & eskiA).ClearContents
    Set con = VBA.CreateObject("adodb.Connection")
    con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
    ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=NO"""
    Application.ScreenUpdating = False
    sorgu = "select F1,F2,F3,F4,F5,F6 from[" & s1.Name & "$A17:G" & sonA & "] where F7<>"""""
    Set rs = con.Execute(sorgu)
    s2.[A17].CopyFromRecordset rs

End Sub

PHP:
Sub firmaB()
    Set s1 = Sheets("Veri")
    Set s2 = Sheets("Fark Listesi")
    sonH = WorksheetFunction.Max(17, s1.Cells(Rows.Count, "H").End(3).Row)
    eskiH = WorksheetFunction.Max(17, s2.Cells(Rows.Count, "H").End(3).Row)
    s2.Range("H17:M" & eskiH).ClearContents
    Set con = VBA.CreateObject("adodb.Connection")
    con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
    ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=NO"""
    Application.ScreenUpdating = False
    sorgu = "select F1,F2,F3,F4,F5,F6 from[" & s1.Name & "$H17:N" & sonH & "] where F7<>"""""
    Set rs = con.Execute(sorgu)
    s2.[H17].CopyFromRecordset rs
End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Mesaj yazarken Ömer Bey'in mesajlarını görmemiştim. Kendisi muhakkak benim verdiğim çözümden daha iyisini sunacaktır.
 

Ö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
Yusuf Bey,
Esasında iş yoğunluğumdan karışık dosyalara bakacak zamanım yoktu. Sayın Okuroğlu rica ettiğinden geri çevirmemek için konuyu inceledim.
Zamanınız olursa siz devam ederseniz sevinirim.
Teşekkürler.

Selamlar.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Dosyada ve daha önceki konularda sadece tonaj üzerinden karşılaştırılması gerektiği belirtilmişti ama şimdi tarih ve plaka kontrolü de istenmiş. Eğer tonaj dışındaki faktörler de dikkate alınacaksa dosyanın veri sayfasında G ve N sütunlarındaki formüllerin ÇOKEĞERSAY ile duruma uygun değiştirilmesi gerekir.
 
Katılım
29 Eylül 2017
Mesajlar
110
Excel Vers. ve Dili
professional_plus_2016 Türkçe
Altın Üyelik Bitiş Tarihi
24-06-2024
Teşekkürler ilgi ve alakanıza... Ömer bey, Yusuf bey, çok çok nadir aynı tarihte aynı tonaja sahip fişler oluyor... Sonrasında tonaj kontrolü yaparken tarih, plaka ve tonaj üzerinden gidiyoruz, daha da sıkıntı çıkarsa malzeme detayına inerek araç giriş çıkış fiş saatine bakıyoruz. Tabiki bunlar sıkıntı çıkması durumunda. Yusuf bey; İlgili yerleri değiştirebilirsiniz. Ben konuyu anlatmaya çalıştım. Gerekli yerlerde gerekli değişiklikleri yapabilirsiniz...
 
Üst