• DİKKAT

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

İki Farklı Sayfadaki Verileri Karşılaştırma

Katılım
28 Haziran 2007
Mesajlar
141
Excel Vers. ve Dili
microsoft office 2007 - ingilizce
Merhaba arkadaşlar,

Ekteki dosyada bulunan dosyanın "ACCESS_MH" sayfasının ilk 4 sütunundaki veri ile "MH" sayfasının ilk 4 sütunundaki verilerin karşılaştırılmasını istiyorum. Makro, bu "ACCESS_MH" sayfasındaki 4 hücrenin aynısının bulunduğu "MH" satırını bulduğunda, "ACCESS_MH" sayfasının F sütununun (ACCESS DOORS) ilgili satırındaki veriyi, "MH" sayfasının E sütunundan direk alsın istiyorum.

Nasıl yapabilirim?
 

Ekli dosyalar

Yanlış yazmışım, pardon. Şu şekilde düzelteyim:

Mesela, "CUSTOMER_MH" 10. satırını ele alalım. Bu satırdaki verileri incelersek;

1. sütün (TASKS): 24-001-00-02
2. sütün (ŞİRKET ADI): UT
3. sütün (UÇAK TESCİLİ): FIN / ILF
5. sütun [MPD ITEM NO (SORTED)]: 24-001-00

olduğunu göreceğiz. Şimdi makro, bu verilerin aynısın bulunduğu satırı "MH" sayfasında arasın ve kaçıncı satırda olduğunu bulsun.Mesela bu örnek için aynı verileri "MH" sayfasının 11. satırında bulacak:

1. sütün (TASKS): 24-001-00-02
2. sütün (ŞİRKET ADI): UT
3. sütün (UÇAK TESCİLİ): FIN / ILF
4. sütun [MPD ITEM NO (SORTED)]: 24-001-00
-------------------------------------------------------
5. sütun (ACCESS DOORS): 413CL;423CL

Bu noktadan hareketle, makro "CUSTOMER_MH" sayfasındaki 10. satırın 6. sütununa denk gelen hücreyi, "MH" sayfasının 11. satırının 5. sütunundaki hücreden kopyalasın.

Yalnız, yukarıdaki mesajda yanlış yazmışım, ona bir düzeltme getireyim:

"CUSTOMER_MH" sayfasındaki 1, 2, 3 ve 5 numaralı kolonlar ile
"MH" sayfasındaki 1, 2, 3 ve 4 numaralı kolonlar karşılaştırılsın aynı verileri bulmak adına.
 
6. sütun boş verileri doldurun bakalım. bu istediğiniz basit bir kod ile halledilebilir.
 
Eğer 6. sütunun verisi boşsa, kopyalamaya gerek yok. Boş olarak kalacak yine "CUSTOMER_MH" sayfasında.
 
Eğer 6. sütunun verisi boşsa, kopyalamaya gerek yok. Boş olarak kalacak yine "CUSTOMER_MH" sayfasında.

konuyu kimin kilitlediğini bilmiyorum ama umarım soruyu soran arkadaş kitlememiştir böyle bir şey yaptıysa gerçekten ayıp etmiş.
sebebi ise herkes her an müsait olacak diye bir kural yok işinden vakit ayıran yardım ediyor tepki olarak konu kitlemek nereden çıktı bunu anlamadım.
boş bir module kopyalayın ve deneyin
Kod:
Option Explicit
Sub bilgi_çek()
Dim ts, kaplan
kaplan = MsgBox("Veri Karşılıklarını Çıkarıyorum", vbYesNo, "Onay")
If kaplan = vbNo Then Exit Sub
For ts = 2 To Sheets("MH").Cells(65536, "A").End(xlUp).Row
Sheets("MH").Cells(ts, "H") = Sheets("MH").Cells(ts, "A") & _
Sheets("MH").Cells(ts, "B") & Sheets("MH").Cells(ts, "C") & _
Sheets("MH").Cells(ts, "D")
Next
For ts = 2 To Sheets("CUSTOMER_MH").Cells(65536, "A").End(xlUp).Row
Sheets("CUSTOMER_MH").Cells(ts, "K") = Sheets("CUSTOMER_MH").Cells(ts, "A") & _
Sheets("CUSTOMER_MH").Cells(ts, "B") & Sheets("CUSTOMER_MH").Cells(ts, "C") & _
Sheets("CUSTOMER_MH").Cells(ts, "E")
Next
For ts = 2 To Sheets("CUSTOMER_MH").Cells(65536, "A").End(xlUp).Row
If WorksheetFunction.CountIf(Sheets("MH").Range("H2:H65536"), Sheets("CUSTOMER_MH") _
.Cells(ts, "K")) > 0 Then
Sheets("CUSTOMER_MH").Cells(ts, "F") = WorksheetFunction.Index(Sheets("MH").Range("E2:H65536"), _
WorksheetFunction.Match(Sheets("CUSTOMER_MH").Cells(ts, "K"), Sheets("MH").Range("H2:H65536"), 0), 1)
End If
Next
Sheets("MH").Range("H:H").ClearContents
Sheets("CUSTOMER_MH").Range("K:K").ClearContents
MsgBox "Veri Karşılıklarını Çıkarttım", vbInformation, "Bitiş"
End Sub
 
Geri
Üst