• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

iki sayfayı karşılaştırma

Katılım
18 Şubat 2015
Mesajlar
5
Excel Vers. ve Dili
2007 türkçe
Merhabalar iş yerinde karşılaştığım bir problem var excelde iki tane sayfada iki ayrı tablo var başka bir sayfada o iki tablodaki aynı olan verileri alt alta sıralayıp karşılarına fiyatlarıyla birlikte getirilmesini istiyorum. Eğer bunu yapamazsam benim için hiç iyi olmayacak :(
 
Bu arada sitede sorunuma çözüm bulamadığımıda belirtmek isterim o yüzden yeni konu açtım.
 
Merhabalar iş yerinde karşılaştığım bir problem var excelde iki tane sayfada iki ayrı tablo var başka bir sayfada o iki tablodaki aynı olan verileri alt alta sıralayıp karşılarına fiyatlarıyla birlikte getirilmesini istiyorum. Eğer bunu yapamazsam benim için hiç iyi olmayacak :(
Merhaba
Dosyanızın küçük bir örneğini buraya ekleyip link verirseniz veya www.yukletr.com
Hangi sütun ve satırlar karşılaştırılacak?
 
//http://www.yukletr.com/download.php?file=d45aa08763bb3dea98beaa586ebb4648

Merhaba kendi orjinal dosyam yaklaşık 2500 satırlık bir veri oluşturduğu için örnek dosya gönderiyorum
 
Merhabalar iş yerinde karşılaştığım bir problem var excelde iki tane sayfada iki ayrı tablo var başka bir sayfada o iki tablodaki aynı olan verileri alt alta sıralayıp karşılarına fiyatlarıyla birlikte getirilmesini istiyorum. Eğer bunu yapamazsam benim için hiç iyi olmayacak :(

Merhaba
Ek dosyayı inceleyiniz

http://www.yukletr.com/download.php?file=c2bcfaa547ac69e52baa86478793bcb9

Kod:
[SIZE="2"] Private Sub Worksheet_Activate()
Dim s1, s2, s3 As Worksheet
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
Set s3 = Sheets("Sayfa3")
s3.Select
s3.[a2:b60000] = Empty
For a = 2 To s1.Cells(Rows.Count, 1).End(xlUp).Row
Set b = s2.Range("a1:a" & s2.Cells(Rows.Count, 1).End(xlUp).Row).Find(s1.Cells(a, 1), LookIn:=xlValues, Lookat:=xlWhole)
If Not b Is Nothing Then
satır = b.Address
boş = s3.Cells(Rows.Count, 1).End(3).Row + 1
s3.Range("a" & boş & ":b" & boş).Value = s1.Range("a" & a & ":b" & a).Value
Do
boş = s3.Cells(Rows.Count, 1).End(3).Row + 1
s3.Range("a" & boş & ":b" & boş).Value = s2.Range("a" & b.Row & ":b" & b.Row).Value
 Set b = s2.Range("a1:a" & s2.Cells(Rows.Count, 1).End(xlUp).Row).FindNext(b)
If b Is Nothing Then Exit Do
Loop While Not b Is Nothing And b.Address <> satır
    End If
    Next
End Sub [/SIZE]
 
Son düzenleme:
Antivirüs ek dosyayı engelliyor. Bu yazdığınız kodu nereye yazmalıyım herhalde o dosyada belirtiyorsunuz. Ayrıca bu yazdığınız kodun adı nedir visual basic diye mi geçiyor. İşverenim bu tür bir karşılaştırmayı hergün ihtiyacımız olacağını söylüyor, ben nasıl bunu pratik olarak yapabilirim ki
 
Antivirüs ek dosyayı engelliyor. Bu yazdığınız kodu nereye yazmalıyım herhalde o dosyada belirtiyorsunuz. Ayrıca bu yazdığınız kodun adı nedir visual basic diye mi geçiyor. İşverenim bu tür bir karşılaştırmayı hergün ihtiyacımız olacağını söylüyor, ben nasıl bunu pratik olarak yapabilirim ki
Merhaba
Birde aşağıdaki linki deneyin.

http://www.upturkey.com/download.php?file=5757.xls
Olmazsa örnek dosyanızı kullanarak;
Dosyayı açın "Alt+F11" yapın (bazı klavyelerde "Alt+Fn+F11" gibi değişik olabilir.) Açılan vba penceresinde sol taraftan "Sayfa3" çift tıklayın
açılan sayfa3 kod sayfasına yukarıda değişen kodu kopyalayıp pencereyi kapatın. Dosyanızda sayfa değişip sayfa3 sekmesini açın 3. sayfa aktif olunca kod çalışacaktır.
 
Evet tamda aradığım buydu çok teşekkürler bunu nasıl yaptınız?
 
iyi akşamlar,
iki sayfadaki verilerin karşılaştırılması ile ilgili makroya ihtiyacım var. yardımcı olabilir misiniz?açıklamayı detaylı dosyanın içine yazdım.
yardımlarınız için şimdiden teşekkür ederim.
 

Ekli dosyalar

Merhaba
Örnek dosyada tam bir açıklamanız yok.
Ek dosyayı inceleyin.
Ek dosyada:
"Sayfa2" de "A" sütununa göre "H" sütunu dahil sıralama yapılacak.
"Sayfa2" de bulunup "Asıl Liste" de olmayanlar (1 den fazlada olsa)
[A:H] satırı aktarılacak.
İyi inceleyip kullanın. Aksaklıkta; ekleme yapmaya çalışırız.

http://www.upturkey.com/download.php?file=794Karşılaştırma.zip
 
Son düzenleme:
Merhaba
Örnek dosyada tam bir açıklamanız yok.
Ek dosyayı inceleyin.
Ek dosyada:
"Sayfa2" de "A" sütununa göre "H" sütunu dahil sıralama yapılacak.
"Sayfa2" de bulunup "Asıl Liste" de olmayanlar (1 den fazlada olsa)
[A:H] satırı aktarılacak.
İyi inceleyip kullanın. Aksaklıkta; ekleme yapmaya çalışırız.

http://www.upturkey.com/download.php?file=800Karşılaştırma.zip

ilginiz için çok teşekkür ederim.
peki sayfa 2 yi çoğalttığımızda yani sayfa3, sayfa4 gibi yaptığımızda makroyu nasıl değiştirmek gerekir?
 
ilginiz için çok teşekkür ederim.
peki sayfa 2 yi çoğalttığımızda yani sayfa3, sayfa4 gibi yaptığımızda makroyu nasıl değiştirmek gerekir?
Yukarıdaki değişen dosyayı inceleyin.
"Asıl Liste" hariç diğer sayfalara bakıp olmayanları ekleyecek.
Diğer sayfaların "A1:H1" ; başlık satırı olarak kodlara dahil değildir ve sayfalarda
"A" sütunlarının "hesap kodu" satırı olacağı varsayılıyor.
Kod:
 Private Sub CommandButton1_Click()
Dim s1, s2, m As Worksheet
Dim f, f2 As Long: Dim n As Double
Set s2 = Sheets("Asıl Liste")
s2.Range("a1:a" & s2.Cells(Rows.Count, 1).End(xlUp).Row).Replace " ", ""
For Each m In Sheets
If m.Name <> s2.Name Then
Set s1 = Sheets(m.Name)
s1.Range("a1:a" & s1.Cells(Rows.Count, 1).End(xlUp).Row).Replace " ", ""
For a = 2 To s1.Cells(Rows.Count, 1).End(xlUp).Row
f = s1.Cells(Rows.Count, 1).End(xlUp).Row
s1.Range("A2:H" & f).Sort Key1:=s1.Range("a2"), Order1:=xlAscending
f2 = s2.Cells(Rows.Count, 1).End(xlUp).Row + 1
s2.Cells(f2, 1).Select
If WorksheetFunction.CountIf(s2.Range("A2:A" & f2), s1.Cells(a, "A")) = 0 Then
n = WorksheetFunction.CountIf(s1.Range("A2:A" & f), s1.Cells(a, "A"))
s2.Range("A" & f2 & ":H" & f2 + n - 1).Value = s1.Range("A" & a & ":H" & a + n - 1).Value
a = a + n - 2
End If
Next
End If
Next
End Sub
 
Geri
Üst