• DİKKAT

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

İki Excel Dosyasından aynı olan verileri çıkarma işlemi

Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
Günün tarihiyle kaydettiğim excel dosyaları var. Bu dosyalar aynı klasör içerisinde yer alıyor. Her excel dosyamdada 3 sheet var ve bu sheetlerin adları yine aynı.

Sheet isimleride örnek olarak "offline1" "offline2" "offline3" olsun

Ana Dosya adı "Offline-22-09-2016-09-35.xlsm" Olsun (bugünün tarihine göre bu ismi yazdım)

Diğer dosyamıda sabah kaydederken "Offline-22-09-2016-08-30.xlsm" olarak kaydetmiştim

Şimdi Sorum şu
Ben ana dosyamda bir butona basarak sırayla şu işlemi yapsın istiyorum.
Klasörde varolan "Offline-Günün Tarihi*.*.xlsm" dosyasını açmış gibi davranıp
aynı olan sheetlerdeki verileri karşılaştırıp Aynı olan verileri çıkartıp A sütununda sıra numaralandırmasıyla yeniden 1 den itibaren sıra numarası vererek işlemi tamamlamasını istiyorum.

NOT : Klasörte Offline ile başlayan başka excel dosyalarıda olabilir burda açması gereken dosya Offline ile başlayıp bugünün tarihiyle devam eden excel dosyasını açmalı.

Sheetlerde ise B sütunundaki veriler karşılaştırılıp (Vlookup yapmış gibi) aynı veriler varsa Ana dosyadaki excel sheetindeki o satırlar kaldırılacak.

Satırlar kalkınca A sütununda 1 den başlayan sıra numara düzeneği yeniden varolan veri kadar numara sırası aşağıya doğru yazacak.

Bilgi ve yardımlarınızı rica ederim

Biraz karmaşık anlatmış olabilirim eğer anlaşılmama durumu olurda yazarsanız çok sevinirim

Teşekkürler
 
Sorumda mantık hatasımı var acaba yapılmayacak bir şey midir ki
 
Aslında istediğim vlookup formülünün makrolaştırılmış hali.

iki sheet arası şöyle örnek bir makro buldum ama ben bunu sorduğum soruya nasıl uyarlayacağım tam bilemiyorum.

çünkü iki dosyadan birisinde veri arattığın dosyanın adının Offline.... şeklinde uzayan bir ada olması.

Kod:
    Sub denmeeeee()
    On Error Resume Next

    Dim Offline1 As Range
    Dim Offline2 As Range
    Dim kaynak As String


    Set Offline1 = Sheet2.Range("A:B")
    Set Offline2 = Sheet3.Range("A:B")

    For i = 2 To 100
    kaynak = Cells(i, 1).Value
    BUL = WorksheetFunction.VLookup(kaynak, Offline1, 2, False)
    ActiveCell.Offset(i, 1).Value = WorksheetFunction.VLookup(kaynak, Offline1, 2, False)

    If Not BUL Is Nothing Then
    ActiveCell.Offset(i, 1).Value = WorksheetFunction.VLookup(kaynak, Offline2, 2, False)
    ActiveCell.Offset(i, 1).Value = BUL
    Else
    ActiveCell.Offset(i, 1).Value = BUL
    End If

    Next i
    End Sub
 
Geri
Üst