İki Excel Dosya Arasında Bir Değere Ait Karşalaştırma Yapma

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

İki Excel Dosya Arasında Bir Değere Ait Karşalaştırma Yapma

İleti#1)  ahmttsezer » 02 Eyl 2020 18:19

Merhaba, Herkese iyi akşamlar.

Sizlerden bir konu hakkında desteklerinizi isteyeceğim. Benim iki excel dosyam var. Taşıyıcı ve Ham adında dosyalar.

Taşıyıcı dosyasındaki sipariş numaralarını Ham dosyasında arayacak ve iki dosya arasındaki Ürün Büyüklüklerini kontrol edecek.

Sipariş numarasına ait iki dosyada ürün büyüklüğünü karşılaştıracak ve eğer farklı ise bunun farkını farklı bir excel dosyası oluşturarak sipariş numarası ve fark sütunu ile birlikte kaydedecek.

Nasıl yapacağım konusunda bir fikrim yok. Umarım anlatabilmişimdir, bununla ilgili nasıl bir vba makro yazılabilir.

Şimdiden herkese teşekkür ederim.

İyi çalışmalar.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
ahmttsezer
Yeni Başlamış
 
Kayıt: 04 Nis 2020 16:15
Meslek: Bilgisayar Öğretmeni
Yaş: 24
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kocaeli / Çayırova

Cevap: İki Excel Dosya Arasında Bir Değere Ait Karşalaştırma

İleti#2)  ahmttsezer » 02 Eyl 2020 18:30

Ek olarak ;

Oluşan yeni excel dosyasının ekte belirttiğim gibi formatta olmasını istiyorum. Desteklerinizi rica ederim.

Teşekkürler
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
ahmttsezer
Yeni Başlamış
 
Kayıt: 04 Nis 2020 16:15
Meslek: Bilgisayar Öğretmeni
Yaş: 24
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kocaeli / Çayırova

Cevap: İki Excel Dosya Arasında Bir Değere Ait Karşalaştırma

İleti#3)  Ali ÖZ » 03 Eyl 2020 12:59

Merhaba,
Ekteki karşılaştır dosyasındaki butona basıp deneyin.
Kod: Tümünü seç
Private Sub CommandButton1_Click()
  Application.ScreenUpdating = False
    Sheets.Add.Name = "Ham"
    Sheets.Add.Name = "Taşıyıcı"
    Set con = CreateObject("adodb.connection")
    con.Open "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & _
    "\Taşıyıcı.xlsx;extended properties=""excel 12.0;hdr=no"""
    Set rs = CreateObject("adodb.recordset")
    sorgu = "select * from [Sayfa1$]"
    rs.Open sorgu, con, 3, 1
    Sheets("Ham").Range("a1").CopyFromRecordset rs
    Set rs = Nothing: Set con = Nothing: sorgu = Empty
    Set con = CreateObject("adodb.connection")
    con.Open "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & _
    "\Ham.xlsx;extended properties=""excel 12.0;hdr=no"""
    Set rs = CreateObject("adodb.recordset")
    sorgu = "select * from [Sayfa1$]"
    rs.Open sorgu, con, 3, 1
    Sheets("Taşıyıcı").Range("a1").CopyFromRecordset rs
    Set rs = Nothing: Set con = Nothing: sorgu = Empty
    Sheets("Sayfa1").Range("a1:D65536").ClearContents
    Set con = CreateObject("adodb.connection")
    con.Open "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.FullName & _
    ";extended properties=""excel 12.0;hdr=no"""
    Set rs = CreateObject("adodb.recordset")
    sorgu = "select h.F1,h.F4 AS Ham,t.F4 as Taşıyıcı,h.F4 - t.F4 as Fark from [Ham$] h LEFT JOIN [Taşıyıcı$] t on h.F1 = t.F1"
    rs.Open sorgu, con, 3, 1
    Sheets("Sayfa1").Range("a1").CopyFromRecordset rs
    Set rs = Nothing: Set con = Nothing: sorgu = Empty
    Sheets(Array("Ham", "Taşıyıcı")).Delete
    Sheets("Sayfa1").Range("a1").Value = "Sipariş Numarası"
    Sheets("Sayfa1").Range("b1").Value = "Ham"
    Sheets("Sayfa1").Range("c1").Value = "Taşıyıcı"
    Sheets("Sayfa1").Range("d1").Value = "Fark"
  Application.ScreenUpdating = True
End Sub
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 39
İleti: 10211
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: İki Excel Dosya Arasında Bir Değere Ait Karşalaştırma

İleti#4)  ahmttsezer » 14 Eyl 2020 22:52

Ali Bey merhaba,

Senelik izin nedeniyle foruma yeni girebildim, kusura bakmayın. Desteğiniz için çok teşekkür ederim, tam istediğim gibi olmuş.

İyi çalışmalar dilerim.
Kullanıcı avatarı
ahmttsezer
Yeni Başlamış
 
Kayıt: 04 Nis 2020 16:15
Meslek: Bilgisayar Öğretmeni
Yaş: 24
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kocaeli / Çayırova

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: İki Excel Dosya Arasında Bir Değere Ait Karşalaştırma

İleti#5)  ahmttsezer » 14 Eyl 2020 23:10

Ali hocam tekrar merhaba,

Taşıyıcı ve Ham dosyalarına farklı sütunlar eklediğimde rs.Open sorgu, con, 3, 1 satırında hata oluyorum. Bu satırın ne işe yaradığı konusunda bilgi iletmeniz mümkün mü?

Teşekkür ederim.
Kullanıcı avatarı
ahmttsezer
Yeni Başlamış
 
Kayıt: 04 Nis 2020 16:15
Meslek: Bilgisayar Öğretmeni
Yaş: 24
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kocaeli / Çayırova

Cevap: Cevap: İki Excel Dosya Arasında Bir Değere Ait Karşal

İleti#6)  ahmttsezer » 15 Eyl 2020 00:20

Ali hocam merhaba,

Kendi sütunlarıma göre düzenlemeye çalıştım fakat bir yerde bir sorun var sanırım. Sayfalarda ki sütunlara göre düzenleme şansınız varsa çok sevinirim.

1) Taşıyıcı sayfasında AI sütunundaki Sevk İrsaliye No' yu Ham dosyasında C sütunu (Sipariş Numarası) ile karşılaştıracak. Eğer Sevk İrsaliye No - Sipariş numarası eşit ise desi miktarlarının farkına bakacak.

2) Desi miktarları Taşıyıcı sayfasında AF sütunu ( Toplam KgDs ) ve Ham sayfasında Y sütununda ( Kargo Firması Desi ). Bunların farkını alarak daha önce ilettiğiniz Karşılaştırma sayfasında Sipariş Numarası - Ham - Taşıyıcı - Fark sütunlarındaki veriler olarak gösterilecek.

Çok fazla zahmet verdim. Şimdiden desteğiniz için çok teşekkür ederim.

Örnek dosya ektedir.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
ahmttsezer
Yeni Başlamış
 
Kayıt: 04 Nis 2020 16:15
Meslek: Bilgisayar Öğretmeni
Yaş: 24
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kocaeli / Çayırova

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: İki Excel Dosya Arasında Bir Değere Ait Karşalaştırma

İleti#7)  ahmttsezer » 16 Eyl 2020 18:45

Merhaba,

İlettiğiniz excel dosyasını uyarlayabildim. Desteğiniz için çok teşekkürler
Kullanıcı avatarı
ahmttsezer
Yeni Başlamış
 
Kayıt: 04 Nis 2020 16:15
Meslek: Bilgisayar Öğretmeni
Yaş: 24
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kocaeli / Çayırova

Cevap: Cevap: İki Excel Dosya Arasında Bir Değere Ait Karşal

İleti#8)  ahmttsezer » 16 Eyl 2020 20:12

Ali Bey,

Sadece eşit olan sipariş numarasına ait kayıtların gelmesini istiyorsam ne yapmalıyım? Sizlerin koduna göre taşıyıcı dosyasında bulunan bütün siparişler geliyor.
Kullanıcı avatarı
ahmttsezer
Yeni Başlamış
 
Kayıt: 04 Nis 2020 16:15
Meslek: Bilgisayar Öğretmeni
Yaş: 24
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kocaeli / Çayırova

Cevap: İki Excel Dosya Arasında Bir Değere Ait Karşalaştırma

İleti#9)  ahmttsezer » 21 Eyl 2020 21:58

Ali Bey,

Kusura bakmayın, sorunuma çözüm bulamadığından konu içerisinde çok fazla ileti ilettim.

Ham ve Taşıyıcı adında 2 excel dosyam var. Taşıyıcı dosyasında Sevk İrsaliye No (AO Sütunu) ve Ham dosyasında Sipariş Numarası (C Sütunu) eşit ise bu siparişe ait Ham dosyasında KargoFirmasıDesi (Y Sütunu) ve Taşıyıcı dosyasında Toplam KgDs (AL Sütunu) farklı ise bu desilerin farklarını gösterecek bir program geliştirmek istiyorum.

Ekteki dosyada bu işlemi yapıyor fakat satır sayısı excel dosyalarında 600.000-700.000 olduğunda işlem 5 dk kadar sürüyor ve ardından Ölçüt İfadesinde veri türü uyuşmazlığı hatası veriyor.

Kodlarımda sorun olabilir. Bu yüklü excel dosyalarında bu şekilde karşılaştırma yapabilmek adına bir yol var mı?
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
ahmttsezer
Yeni Başlamış
 
Kayıt: 04 Nis 2020 16:15
Meslek: Bilgisayar Öğretmeni
Yaş: 24
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kocaeli / Çayırova


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 2 misafir

Bumerang - Yazarkafe