Birden Çok Sayfayı Tek Sayfada Birleştirme

Katılım
7 Eylül 2004
Mesajlar
49
Örnek dosyada da gösterildigi üzere 85 sayfadan oluşan (örnekte 3 sayfa) excel dosyasındaki bilgiler tek sayfa içerisinde nasıl toplanabilir. Yeni oluşturulacak sayfada bilgiler sayfa sırasıyla olmalıdır
 

Necdet

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

Ekli dosyayı inceleyiniz.

Kod:
Public Sub BirArayaGetir()
Set s1 = Sheets("Hepsi")
Application.ScreenUpdating = False
On Error Resume Next
s1.Rows("5:65536").Delete
For i = 2 To Sheets.Count
    Sheets(i).Activate
    SonSatır = s1.[A65536].End(3).Row + 1
    BasSatır = 0
    BasSatır = Columns("A:A").Find("KOD").Row
    If BasSatır > 0 Then
       BasSatır = BasSatır + 1
       SonSat = [B65536].End(3).Row
       Range("A" & BasSatır & ":E" & SonSat).Copy s1.Range("A" & SonSatır)
    End If
Next i
s1.Select
MsgBox Sheets.Count - 1 & " Adet Sayfa Birleştirildi...."
End Sub
 
Son düzenleme:
Katılım
7 Eylül 2004
Mesajlar
49
Teşekkür ederim. Çok güzel olmuş.

Fakat başlık satırlarını da "Hepsi" sayfasına aktaramaz mıyız.

Sayfa sonundaki 1 adet boş satırdan sonraki boş satırları "Hepsi" sayfasına aktarmamak için nasıl bir işlem yapılmalı. Hatta sayfa sonlarındaki sayfa numaraları bile aktarmaya gerek yoktur.

Yardımlarınız için tekrar teşekkür ederim.
 

Necdet

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

Aşağıdaki kodları dener misiniz?

Beğenmezseniz değiştirme şansımız var :)

Kod:
Public Sub BirArayaGetir()
Set s1 = Sheets("Hepsi")
Application.ScreenUpdating = False
On Error Resume Next
s1.Range("A1:E65536").Clear
For i = 2 To Sheets.Count
    Sheets(i).Activate
    SonSatır = s1.[A65536].End(3).Row + 2
    SonSat = [B65536].End(3).Row
    Range("A1:E" & SonSat).Copy s1.Range("A" & SonSatır)
Next i
s1.Select
MsgBox Sheets.Count - 1 & " Adet Sayfa Birleştirildi...."
End Sub
 
Son düzenleme:
Katılım
7 Eylül 2004
Mesajlar
49
Çok güzel oldu.

Bu makro "Hepsi" adlı sayfa olması halinde çalışmakta.Gönderilen herhangi bir excel listesinde de uygulanabilmesi için macro "hepsi" sayfası kendisi yaratabilir mi?

Yardımlar için çok teşekkürler....
 

Necdet

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

Aşağıdaki kodları deneyiniz.

Kod:
Public Sub BirArayaGetir()
If Sheets(1).Name <> "Hepsi" Then
    Sheets.Add Before:=Sheets(1)
    ActiveSheet.Name = "Hepsi"
End If
Set s1 = Sheets("Hepsi")
s1.Select
Application.ScreenUpdating = False
On Error Resume Next
s1.Range("A1:E65536").Clear
For i = 2 To Sheets.Count
    Sheets(i).Activate
    SonSatır = s1.[A65536].End(3).Row + 2
    SonSat = [B65536].End(3).Row
    Range("A1:E" & SonSat).Copy s1.Range("A" & SonSatır)
Next i
s1.Select
MsgBox Sheets.Count - 1 & " Adet Sayfa Birleştirildi...."
End Sub
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Paylaşım İçin Teşekkürler

Sayın Necdet_Yersetener paylaşım için çok teşekkürler. Çok yararlı bir çalışma. Sağlıcakla kalın.
 
Üst