• DİKKAT

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

Birden fazla Excel dosyasında aranan bir kelimenin, tek Excel dosyasında sıralanması.

Katılım
10 Haziran 2020
Mesajlar
19
Excel Vers. ve Dili
excel 2007
X klasörümde yer alan birden fazla Excel dosyalarım bulunmaktadır. Bu excel dosyalarımın içerisinde "engelli" kelimesinin olduğu satırların farklı bir Excel dosyasında birleştirerek alt alta sıralamak istiyorum.

Bunu nasıl yapabilirim ??

Not: Dosyaların sayısı çok fazla.. "Engelli" kelimesini tek tek bulmakta zorlandığım için sadece 2 farklı örnek dosya ekte yer almaktadır. Formülde ekte yer alan Birleştirilecek dosya üzerinde yapılacaktır... Teşekkürler ...
 

Ekli dosyalar

Merhaba,

Kodları Deneyiniz.

Kod:
Sub DosyaSec()

    Dim fd As FileDialog
    Dim vrtSelectedItem As Variant
    
    Range("A1").CurrentRegion.Offset(2).ClearContents
    
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    
    With fd

        .Filters.Clear
        .Filters.Add "All files", "*.*"
        .Filters.Add "Images", "*.xls; *.xlsx; *.xlsm", 1
        If .Show = -1 Then
            For Each vrtSelectedItem In .SelectedItems
                DosyaYaz (vrtSelectedItem)
            Next vrtSelectedItem
        Else
            MsgBox "Hiç Bir Dosya Seçilmedi"
            Exit Sub
        End If
    End With

    Set fd = Nothing
    
 End Sub

Kod:
 Sub DosyaYaz(DosyaAdi As Variant)
 
    Dim i       As Long
    Dim DB      As Object
    Dim RS      As Object
    Dim SQLStr  As String
    
    Set DB = CreateObject("adodb.Connection")
    Set RS = CreateObject("adodb.Recordset")
    DB.Open "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}; DBQ=" & DosyaAdi
    RS.CursorLocation = adUseClient
    RS.CursorType = adOpenDynamic
    RS.LockType = adLockOptimistic

    SQLStr = "SELECT * FROM [Sayfa1$] WHERE F13 = 'Engelli' "

    RS.Open SQLStr, DB, adOpenDynamic, adLockPessimistic, -1

    i = Cells(Rows.Count, "C").End(3).Row + 1
    If i < 3 Then i = 3
    
    Range("A" & i).CopyFromRecordset RS

    DB.Close
    
    Set DB = Nothing
    Set RS = Nothing
    
End Sub
 

Ekli dosyalar

Teşekkür ederin bilgilendirme için. Fakat ben makro kullanamıyorum :( O yüzden yapamıcam galiba.
 
Gönderdiğim dosyayı açıp makroyu çalıştıracaksınız.
Hepsi bu
 
Denedim oldu, çalışma arkadaşlarıma birlikte size çok dua ediyoruz. Allah razı olsun.. teşekkürler...
 
Engelli kelimelerinde büyük küçük harf duyarlı mıdır ? Örneğin "engelli", "Engelli" ve "ENGELLİ" olan tüm kelimeleri alıyor mu? Almıyor gibime geldi..
 
Evet denemedim almadı. Bunun bir çözümü varmıdır acaba ?
 
Geri
Üst