Birden fazla Excel dosyasını tek excel de farklı sayfalarda birleştirmek ÇÖZÜLDÜ

f4tih

Altın Üye
Katılım
9 Kasım 2010
Mesajlar
77
Excel Vers. ve Dili
Office 365, (64 bit) Türkçe
Altın Üyelik Bitiş Tarihi
03-07-2026
Merhabalar
elimde excel1.xlsx, excel2.xlsx, excel3.xlsx şeklinde bir den fazla excel dosyası var. Bu excel dosyalarında kiminde 5 sayfa kiminde 3 sayfa kiminde tek sayfa var.

Benim yapmak istediğim bu excel dosyalarının 1. sayfasını tek bir excel dosyasında sayfa1, sayfa2, sayfa3 şeklinde birleştirmek. Amacım tek sayfada birleştirmek değil.
Bu konuda yol gösterir misiniz forumda baktım ama eski konulardan çözüm bulamadım.
 

f4tih

Altın Üye
Katılım
9 Kasım 2010
Mesajlar
77
Excel Vers. ve Dili
Office 365, (64 bit) Türkçe
Altın Üyelik Bitiş Tarihi
03-07-2026
Python ile epey zaman geçirdikten sonra benim amacım sayfa düzenlerini de korumaktı.
Kutsal vba imdada yetişti.

Kod:
Sub Birlestir()
    Dim klasor_yolu As String
    Dim birlesmis_veri As Workbook
    Dim dosya As String
    Dim acilan_dosya As Workbook
    Dim ws As Worksheet
    Dim yeni_sayfa As Worksheet
    Dim sayfa_sirasi As Integer
    
    ' Birleştireceğiniz dosyaların bulunduğu klasör yolunu belirtin
    klasor_yolu = "C:\Users\root\Desktop\doymix\"
    
    ' Yeni birleştirilmiş veri dosyasını oluşturun
    Set birlesmis_veri = Workbooks.Add
    
    ' Sayfa sırasını başlatın
    sayfa_sirasi = 2
    
    ' Tüm Excel dosyalarının listesini alın
    dosya = Dir(klasor_yolu & "*.xlsx")
    
    ' Her bir Excel dosyasını açın ve birleştirin
    Do While dosya <> ""
        ' Excel dosyasını açın
        Set acilan_dosya = Workbooks.Open(klasor_yolu & dosya)
        
        ' İlk sayfayı alın ve yeni bir sayfaya yapıştırın
        Set ws = acilan_dosya.Sheets(1)
        ws.Copy After:=birlesmis_veri.Sheets(birlesmis_veri.Sheets.Count)
        Set yeni_sayfa = birlesmis_veri.Sheets(birlesmis_veri.Sheets.Count)
        
        ' Sayfa adını güncelleyin
        yeni_sayfa.Name = "Sayfa" & sayfa_sirasi
        
        ' Sayfa sırasını bir artırın
        sayfa_sirasi = sayfa_sirasi + 1
        
        ' Sonraki Excel dosyasını alın
        acilan_dosya.Close
        dosya = Dir
    Loop
    
    ' Birleştirilmiş veri dosyasını kaydedin
    birlesmis_veri.SaveAs "C:\Users\root\Desktop\doymix\birlesmis_excel.xlsx"
    
    ' Birleştirilmiş veri dosyasını kapatın
    birlesmis_veri.Close False
    
    MsgBox "Excel dosyaları başarıyla birleştirildi!", vbInformation
End Sub
Bu kodla ben işimi çözdüm. İşinize yararsa diye de paylaşayım.
 
Katılım
19 Şubat 2024
Mesajlar
5
Excel Vers. ve Dili
office 365
Python ile epey zaman geçirdikten sonra benim amacım sayfa düzenlerini de korumaktı.
Kutsal vba imdada yetişti.

Kod:
Sub Birlestir()
    Dim klasor_yolu As String
    Dim birlesmis_veri As Workbook
    Dim dosya As String
    Dim acilan_dosya As Workbook
    Dim ws As Worksheet
    Dim yeni_sayfa As Worksheet
    Dim sayfa_sirasi As Integer
   
    ' Birleştireceğiniz dosyaların bulunduğu klasör yolunu belirtin
    klasor_yolu = "C:\Users\root\Desktop\doymix\"
   
    ' Yeni birleştirilmiş veri dosyasını oluşturun
    Set birlesmis_veri = Workbooks.Add
   
    ' Sayfa sırasını başlatın
    sayfa_sirasi = 2
   
    ' Tüm Excel dosyalarının listesini alın
    dosya = Dir(klasor_yolu & "*.xlsx")
   
    ' Her bir Excel dosyasını açın ve birleştirin
    Do While dosya <> ""
        ' Excel dosyasını açın
        Set acilan_dosya = Workbooks.Open(klasor_yolu & dosya)
       
        ' İlk sayfayı alın ve yeni bir sayfaya yapıştırın
        Set ws = acilan_dosya.Sheets(1)
        ws.Copy After:=birlesmis_veri.Sheets(birlesmis_veri.Sheets.Count)
        Set yeni_sayfa = birlesmis_veri.Sheets(birlesmis_veri.Sheets.Count)
       
        ' Sayfa adını güncelleyin
        yeni_sayfa.Name = "Sayfa" & sayfa_sirasi
       
        ' Sayfa sırasını bir artırın
        sayfa_sirasi = sayfa_sirasi + 1
       
        ' Sonraki Excel dosyasını alın
        acilan_dosya.Close
        dosya = Dir
    Loop
   
    ' Birleştirilmiş veri dosyasını kaydedin
    birlesmis_veri.SaveAs "C:\Users\root\Desktop\doymix\birlesmis_excel.xlsx"
   
    ' Birleştirilmiş veri dosyasını kapatın
    birlesmis_veri.Close False
   
    MsgBox "Excel dosyaları başarıyla birleştirildi!", vbInformation
End Sub
Bu kodla ben işimi çözdüm. İşinize yararsa diye de paylaşayım.
Birden fazla excel sayfası var, bunları farklı kullancılar dolduruyor. Ben tek bir excel sayfasında görmek istiyorum bu mümkün mü?
 

f4tih

Altın Üye
Katılım
9 Kasım 2010
Mesajlar
77
Excel Vers. ve Dili
Office 365, (64 bit) Türkçe
Altın Üyelik Bitiş Tarihi
03-07-2026
durumu daha iyi anlatmanız lazım. Yani birden fazla excel dosyası var ve bunların hepsi aynı. Başka yerlerde dolduruluyor ve siz toplam değerleri mi tek sayfada görmek istiyorsunuz?
 
Katılım
19 Şubat 2024
Mesajlar
5
Excel Vers. ve Dili
office 365
durumu daha iyi anlatmanız lazım. Yani birden fazla excel dosyası var ve bunların hepsi aynı. Başka yerlerde dolduruluyor ve siz toplam değerleri mi tek sayfada görmek istiyorsunuz?
Doğrudur, lakin çok geç açılmakta ve bazen verileri anlık çekmemekte. Makro yardımıyla daha hızlı ve kolay olabilir mi?
 

f4tih

Altın Üye
Katılım
9 Kasım 2010
Mesajlar
77
Excel Vers. ve Dili
Office 365, (64 bit) Türkçe
Altın Üyelik Bitiş Tarihi
03-07-2026
peki şimdi başkalarıda dolduruyor dediğiniz için bir ağ dosyasında mı bu exceller. Yada size mi iletiliyor bir şekilde hepsi elinizde sizin bilgisayarınızda mı oluyor? Çok geç açılması sayfada muhtemel çok fazla formül olmasından dolayıdır. Her açılışta bunları hesaplıyor. o yüzden geç açılıyor. Makro kesinlikle kolay ve çok çok daha hızlı olur bu bir gerçek ama sizin durumu daha detaylı ve anlaşılır anlatmanız lazım yardımcı olabilmem için.
 
Katılım
19 Şubat 2024
Mesajlar
5
Excel Vers. ve Dili
office 365
peki şimdi başkalarıda dolduruyor dediğiniz için bir ağ dosyasında mı bu exceller. Yada size mi iletiliyor bir şekilde hepsi elinizde sizin bilgisayarınızda mı oluyor? Çok geç açılması sayfada muhtemel çok fazla formül olmasından dolayıdır. Her açılışta bunları hesaplıyor. o yüzden geç açılıyor. Makro kesinlikle kolay ve çok çok daha hızlı olur bu bir gerçek ama sizin durumu daha detaylı ve anlaşılır anlatmanız lazım yardımcı olabilmem için.
Onedrive klasöründe birden fazla excel var. Bunların aylık toplamlarını kendi sayfalarında aldırıyorum. Sonra ben ayrı bir excele icmal istiyorum.

AİşletmesiToplam Ciro : xx
BİşletmesiToplam Ciro : xx
CİşletmesiToplam Ciro : xx

ABC İşletmesi Toplam Cari borç : XX
vs gibi bir icmal tablo yaptım ama veri çekerken aşırı bekliyor ve her defasında bağlantıları düzenleme vs gibi sorunlar çıkabiliyor.
 

f4tih

Altın Üye
Katılım
9 Kasım 2010
Mesajlar
77
Excel Vers. ve Dili
Office 365, (64 bit) Türkçe
Altın Üyelik Bitiş Tarihi
03-07-2026
örnek dosya görmeden açıkçası yorum yapmam zor. oynanmış veriler üzerinden excel dsoyalarını ve toplam yaptığınız dosyayı paylaşırsanız çok daha iyi olur.
 
Üst