klasördeki excel dosyalarını birleştirme

Katılım
28 Nisan 2023
Mesajlar
42
Excel Vers. ve Dili
Excel 2016 (64bit) Türkçe
Altın Üyelik Bitiş Tarihi
22-08-2024
Herkese merhaba klasördeki dosyaları hepsini birleştirmek istiyorum aratma yaptığımda ya sayfalardaki linkler ölmüş yada birleştirmeyi düzgün yapmıyor klasördeki bütün dosyalar aynı formatta hepsini altalta tek sayfa yaparak birleştirmek istiyorum.Sayımda çap ve renk olarak kaç metre gittiğini hesaplamam lazım.Teşekkürler
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağıdaki kodları bir modüle kopyalayıp deneyiniz.
Yol olarak tanımlanan değişkene dosyaların bulunduğu dizin adını veriniz.

Kod:
Sub Dosya_Oku_VeriGetir()

Dim oFSO As Object
Dim oFolder As Object
Dim oFile As Object
Dim i As Long
Dim lRow As Long
Dim adt As Integer
Dim yol As String
Dim arr As Variant

With Application
    .ScreenUpdating = False
    .EnableEvents = False
End With

yol = "C:\BURAYA KLASÖR ADINI YAZINIZ"
Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder(yol)

For Each oFile In oFolder.Files
    Workbooks.Open (oFolder & Application.PathSeparator & oFile.Name)
    lRow = Sheets(1).Cells(Rows.Count, "A").End(3).Row
    adt = adt + 1
    If adt = 1 Then
        arr = Sheets(1).Range("A1:K" & lRow).Value
    Else
        arr = Sheets(1).Range("A2:K" & lRow).Value
    End If
    ActiveWorkbook.Close Savechanges:=False
    i = Cells(Rows.Count, "A").End(3).Row
    If i = 2 Then i = 1
    Range("A" & i).Resize(UBound(arr, 1), UBound(arr, 2)) = arr
Next oFile

MsgBox adt & " Adet Dosya Okundu..."

With Application
    .ScreenUpdating = True
    .EnableEvents = True
End With

End Sub
 
Katılım
28 Nisan 2023
Mesajlar
42
Excel Vers. ve Dili
Excel 2016 (64bit) Türkçe
Altın Üyelik Bitiş Tarihi
22-08-2024
Merhaba,

Aşağıdaki kodları bir modüle kopyalayıp deneyiniz.
Yol olarak tanımlanan değişkene dosyaların bulunduğu dizin adını veriniz.

Kod:
Sub Dosya_Oku_VeriGetir()

Dim oFSO As Object
Dim oFolder As Object
Dim oFile As Object
Dim i As Long
Dim lRow As Long
Dim adt As Integer
Dim yol As String
Dim arr As Variant

With Application
    .ScreenUpdating = False
    .EnableEvents = False
End With

yol = "C:\BURAYA KLASÖR ADINI YAZINIZ"
Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder(yol)

For Each oFile In oFolder.Files
    Workbooks.Open (oFolder & Application.PathSeparator & oFile.Name)
    lRow = Sheets(1).Cells(Rows.Count, "A").End(3).Row
    adt = adt + 1
    If adt = 1 Then
        arr = Sheets(1).Range("A1:K" & lRow).Value
    Else
        arr = Sheets(1).Range("A2:K" & lRow).Value
    End If
    ActiveWorkbook.Close Savechanges:=False
    i = Cells(Rows.Count, "A").End(3).Row
    If i = 2 Then i = 1
    Range("A" & i).Resize(UBound(arr, 1), UBound(arr, 2)) = arr
Next oFile

MsgBox adt & " Adet Dosya Okundu..."

With Application
    .ScreenUpdating = True
    .EnableEvents = True
End With

End Sub
Selamlar öncelikle teşekkür ediyorum ilginize fakat 47 dosya okundu yazdıktan sonra sayfa bomboş kaldı dosyaları birleştirmedi aynı klasör içinde yolu seçtiğim zamanda bütün fonksiyonlar renksizleşiyor
 
Son düzenleme:

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Kodları deneyip verdim.
Yine denedim yine çalıştı.
 
Katılım
28 Nisan 2023
Mesajlar
42
Excel Vers. ve Dili
Excel 2016 (64bit) Türkçe
Altın Üyelik Bitiş Tarihi
22-08-2024
söyle bir macro bulmustum sıtenizde bundada yol gösterip birleştiriyorum fakat bütün hepsini almıyor yine ben hepsini tek bir excel haline getirmek istiyorum eğer sayı fazla geliyorsa 20 şey dosya olarakta bölebilirim
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Benim kodlar 29.275 kayıt getirdi.
Örnek olarak eklediğiniz dosyalarda hep tek sayfa vardı, ben dosyadan 1. sayfanın adına bakmadan çektim.
orijinal dosyalarınızda birden fazla sayfa varsa kodda sayfa adını da belirtmek gerek.
 

Ekli dosyalar

Katılım
28 Nisan 2023
Mesajlar
42
Excel Vers. ve Dili
Excel 2016 (64bit) Türkçe
Altın Üyelik Bitiş Tarihi
22-08-2024
son ekledıgınız dosyada oldu cok tesekkur edıyorum size
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
büyük olasılıkla dosyaların okunacağı yolu belirtmediniz.
 

By.TRabZonLutm

Altın Üye
Katılım
15 Aralık 2017
Mesajlar
108
Excel Vers. ve Dili
Excel 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
12-01-2029
Benim kodlar 29.275 kayıt getirdi.
Örnek olarak eklediğiniz dosyalarda hep tek sayfa vardı, ben dosyadan 1. sayfanın adına bakmadan çektim.
orijinal dosyalarınızda birden fazla sayfa varsa kodda sayfa adını da belirtmek gerek.
hocam bu dosyayı denedim şöyle bir hata veriyor
251613
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Örnek dosya eklerseniz durum daha iyi anlaşılır.
 

bosislermuduru

Altın Üye
Katılım
2 Temmuz 2018
Mesajlar
64
Excel Vers. ve Dili
2003 ,2007,2013,2019@PowerQuery
Altın Üyelik Bitiş Tarihi
14-05-2029
Eğer Amacınız Excellleri Birleştirip Bir Tablo Oluşturmaksa Power Query Kullanmanızı Öneririm
Ekteki Exceli indirip Veri Kaynağını Değiştirmeniz Yeterli Olacaktır


Örnek Kod

let
Kaynak = Folder.Files("D:\Yedek\Masaüstü\sayım"),
#"Filtrelenmiş Gizli Dosyalar1" = Table.SelectRows(Kaynak, each [Attributes]?[Hidden]? <> true),
#"Özel İşlev Çağır1" = Table.AddColumn(#"Filtrelenmiş Gizli Dosyalar1", "Dosya Dönüştür", each #"Dosya Dönüştür"([Content])),
#"Yeniden Adlandırılan Sütunlar1" = Table.RenameColumns(#"Özel İşlev Çağır1", {"Name", "Source.Name"}),
#"Kaldırılan Diğer Sütunlar1" = Table.SelectColumns(#"Yeniden Adlandırılan Sütunlar1", {"Source.Name", "Dosya Dönüştür"}),
#"Genişletilen Tablo Sütunu1" = Table.ExpandTableColumn(#"Kaldırılan Diğer Sütunlar1", "Dosya Dönüştür", Table.ColumnNames(#"Dosya Dönüştür"(#"Örnek Dosya")))
in
#"Genişletilen Tablo Sütunu1"
 

Ekli dosyalar

  • 997.9 KB Görüntüleme: 5
Üst