Exel Birleştirme

Katılım
29 Temmuz 2016
Mesajlar
14
Excel Vers. ve Dili
Microsoft office Professional 2010
herkese merhabalar. şimdi 10 tane exel dosyam var bunlar aynı şablonda ama farklı verileri içeriyor. bunları tek bir exelde sayfa sayfa toplamam gerekiyor.bunun kolay bi yolu varmıdır. şimdiden teşekkürler.
 
Son düzenleme:
Katılım
24 Nisan 2005
Mesajlar
3,670
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Daha hızlı cevap alabilmek için, iki farklı veri içeren iki dosyayı dosya.tc yada dosya.co ya yükleyip link ekleyiniz.
 
Katılım
29 Temmuz 2016
Mesajlar
14
Excel Vers. ve Dili
Microsoft office Professional 2010
Aralarda açılan fazla sayfalar ne için onu anlayamadım.onlar biraz zorluk çıkarıyor.Proje ise gerçekten istediğim gibi olmuş.Teşekkür ederim.
 
Katılım
24 Nisan 2005
Mesajlar
3,670
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Alternatif ;

Bir klasör ve onun altındaki tüm klasörlerde bulunan .xlsx ve .xls uzantılı dosyalardaki bütün sayfaları tek bir dosyada toplar.
Sonuc Dosyası.xlsx programın bulunduğu klasörde oluşturulur.
Birleştirilecek dosyalar programdan farklı bir klasörde olmalıdır.

http://www.excel.web.tr/f52/tum-excel-dosyalary-tek-dosyada-t160842.html
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Aralarda açılan fazla sayfalar ne için onu anlayamadım.
Merhaba
Eklediğiniz örnek dosyalarda bir tanesi gizli; iki sayfa bulunuyordu,fazla dediğiniz bu gizli sayfalar.
Sanırım sn.asri'nin örneğide bütün sayfalar için
Sadece birinci sayfa gelecekse aşağıdaki gibi deneyin.
http://s3.dosya.tc/server10/r2txt2/20161209.zip.html
Kod:
[SIZE="2"]Private Sub CommandButton1_Click()
Dim wb As Workbook, sh As Integer
Dim ds, f, dc, dosya, sheet
Dim h As String
Set wb = ThisWorkbook
Set ds = CreateObject("Scripting.FileSystemObject")
Set f = ds.GetFolder(ThisWorkbook.Path & "\20161209")
Set dc = f.Files
For Each dosya In dc
Workbooks.Open dosya
h = Split(dosya.Name, ".")(UBound(Split(dosya.Name, ".")) - 1)
For Each sheet In Workbooks(h).Worksheets
    sh = wb.Worksheets.Count
    Workbooks(h).Worksheets(sheet.Name).Copy _
    after:=wb.Worksheets(sh)
    Exit For
Next sheet
Workbooks(h).Close savechanges:=False
Next
End Sub[/SIZE]
 
Katılım
29 Temmuz 2016
Mesajlar
14
Excel Vers. ve Dili
Microsoft office Professional 2010
merhabalar. dosyayı ve kodları denedim bende çalışmadı ne yazıkki. runtime hatası verdi.
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
merhabalar. dosyayı ve kodları denedim bende çalışmadı ne yazıkki. runtime hatası verdi.
Merhaba
Run Time 76 hatası varsa klasör bulunamamış, başka klasör içindeki dosyalar
için kullandıysanız kodların içinde bulunan klasör adını değişmelisiniz

Kod:
Set f = ds.GetFolder(ThisWorkbook.Path & "\[COLOR="Red"]20161209[/COLOR]")
http://i.hizliresim.com/adz2yR.gif

 
Katılım
29 Temmuz 2016
Mesajlar
14
Excel Vers. ve Dili
Microsoft office Professional 2010
evet sizde istediğim gibi çalışıyor. klasör ismini değiştirmedim normalde açması gerekirken
"runtime error'9'"
SUBSCRİPT OUT OF RANGE
hatası alıyorum.Acaba bilgisayardan mı kaynaklı diye arkadaşımda denedim ondada aynı hatayı verdi.
 
Son düzenleme:
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
evet sizde istediğim gibi çalışıyor. klasör ismini değiştirmedim normalde açması gerekirken
"runtime error'9'"
SUBSCRİPT OUT OF RANGE
hatası alıyorum.Acaba bilgisayardan mı kaynaklı diye arkadaşımda denedim ondada aynı hatayı verdi.
Merhaba
Aşağıdaki gibi değiştirip deneyelim
Kırmızı bölüm gizli sayfa varsa atlasın,
eğer gelmesi gereken sayfa (gizli hariç) bir den fazla ise mavi bölümü silin.
Kod:
[SIZE="2"]Private Sub CommandButton1_Click()
Dim wb As Workbook, sh, s As Integer
Dim ds, f, dc, dosya, sheet
Dim h As String
Set wb = ThisWorkbook
Set ds = CreateObject("Scripting.FileSystemObject")
Set f = ds.GetFolder(ThisWorkbook.Path & "\20161209")
Set dc = f.Files
For Each dosya In dc
If Left(Split(dosya.Name, ".")(UBound(Split(dosya.Name, "."))), 3) = "xls" Then
Workbooks.Open dosya
h = Split(dosya.Name, ".")(UBound(Split(dosya.Name, ".")) - 1)
Application.ScreenUpdating = False
For Each sheet In Workbooks(h).Worksheets
 [COLOR="Red"]If Workbooks(h).Worksheets(sheet.Name).Visible = True Then[/COLOR]
    sh = wb.Worksheets.Count
    Workbooks(h).Worksheets(sheet.Name).Copy _
    after:=wb.Worksheets(sh)
  [COLOR="Blue"]  Exit For[/COLOR]
    [COLOR="Red"]End If[/COLOR]
Next sheet
Application.ScreenUpdating = True
Workbooks(h).Close savechanges:=False
End If
Next
End Sub[/SIZE]
 
Katılım
29 Temmuz 2016
Mesajlar
14
Excel Vers. ve Dili
Microsoft office Professional 2010
merhaba sn plint. istediğinizi yaptım yine aynı hatayı alıyorum.isterseniz mail bırakayım ordan konuşalım.Ayrıca ilk gönderdiğiniz proje çalışmıştı. şu gizli dosyalarıda gösteren proje.O projeye gizli varsa atlasın ı ekleyemiyor muyuz ?
 
Üst