Ana içeriğe atla

Birden çok çalışma kitabını Excel'de tek bir ana çalışma kitabında nasıl birleştirebilirim?

Excel'de bir ana çalışma kitabında birden çok çalışma kitabını birleştirmeniz gerektiğinde hiç takıldınız mı? En korkunç şey, birleştirmeniz gereken çalışma kitaplarının birden çok çalışma sayfası içermesidir. Ve birden çok çalışma kitabının yalnızca belirtilen çalışma sayfalarını tek bir çalışma kitabında nasıl birleştirebilirim? Bu öğretici, sorun adımlarını adım adım çözmenize yardımcı olacak birkaç yararlı yöntemi gösterir.


Taşı veya Kopyala işleviyle birden çok çalışma kitabını tek bir çalışma kitabında birleştirin

Yalnızca birkaç çalışma kitabının birleştirilmesi gerekiyorsa, çalışma sayfalarını orijinal çalışma kitabından ana çalışma kitabına el ile taşımak veya kopyalamak için Taşı veya Kopyala komutunu kullanabilirsiniz.

1. Bir ana çalışma kitabına birleştireceğiniz çalışma kitaplarını açın.

2. Özgün çalışma kitabındaki ana çalışma kitabına taşıyacağınız veya kopyalayacağınız çalışma sayfalarını seçin.

Notlar:

1). Birden çok bitişik olmayan çalışma sayfasını, Ctrl tuşuna ve sayfa sekmelerine tek tek tıklayarak.

2). Birden çok bitişik çalışma sayfası seçmek için, lütfen ilk sayfa sekmesine tıklayın, vardiya tuşuna basın ve ardından hepsini seçmek için son sayfa sekmesine tıklayın.

3). Herhangi bir sayfa sekmesine sağ tıklayabilir, Tüm Sayfaları Seç çalışma kitabındaki tüm çalışma sayfalarını aynı anda seçmek için bağlam menüsünden.

3. Gerekli çalışma sayfalarını seçtikten sonra, sayfa sekmesine sağ tıklayın ve ardından Taşı veya Kopyala bağlam menüsünden. Ekran görüntüsüne bakın:

4. Sonra Taşı veya Kopyala iletişim kutusu açılır, Kitaba açılır, çalışma sayfalarını taşıyacağınız veya kopyalayacağınız ana çalışma kitabını seçin. İçinde sona taşı seçin Sayfadan önce kutusu, kontrol edin Bir kopya oluştur kutusunu seçin ve son olarak OK düğmesine basın.

Ardından, iki çalışma kitabındaki çalışma sayfalarını bir arada görebilirsiniz. Çalışma sayfalarını diğer çalışma kitaplarından ana çalışma kitabına taşımak için lütfen yukarıdaki adımları tekrarlayın.


Birden çok çalışma kitabını veya belirtilen çalışma kitabını VBA ile ana çalışma kitabında birleştirin

Birden fazla çalışma kitabının tek bir çalışma kitabında birleştirilmesi gerekiyorsa, hızlı bir şekilde elde etmek için aşağıdaki VBA kodlarını uygulayabilirsiniz. Lütfen aşağıdaki işlemleri yapın.

1. Birleştirmek istediğiniz tüm çalışma kitaplarını aynı dizinin altına koyun.

2. Bir Excel dosyası başlatın (bu çalışma kitabı ana çalışma kitabı olacaktır).

3. Tuşuna basın. Ara Toplam + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic penceresi. İçinde Uygulamalar için Microsoft Visual Basic Pencere, tıklayın Ekle > modül, ardından VBA kodunu Modül penceresine kopyalayın.

VBA kodu 1: Birden çok Excel çalışma kitabını tek bir çalışma kitabında birleştirin

Sub GetSheets()
'Updated by Extendoffice 2019/2/20
Path = "C:\Users\dt\Desktop\dt kte\"
Filename = Dir(Path & "*.xlsx")
  Do While Filename <> ""
  Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
     For Each Sheet In ActiveWorkbook.Sheets
     Sheet.Copy After:=ThisWorkbook.Sheets(1)
  Next Sheet
     Workbooks(Filename).Close
     Filename = Dir()
  Loop
End Sub
	

Notlar:

1. Yukarıdaki VBA kodu, birleştirmeden sonra orijinal çalışma kitaplarının sayfa adlarını koruyacaktır.

2. Ana çalışma kitabındaki hangi çalışma sayfalarının birleştirmeden sonra nereden geldiğini ayırt etmek istiyorsanız, lütfen aşağıdaki VBA kodu 2'yi uygulayın.

3. Çalışma kitaplarının belirtilen çalışma sayfalarını bir ana çalışma kitabında birleştirmek istiyorsanız, aşağıdaki VBA kodu 3 yardımcı olabilir.

VBA kodlarında, "C: \ Kullanıcılar \ DT168 \ Masaüstü \ KTE \"Klasör yoludur. VBA kodu 3'te "Sayfa1, Sayfa3", bir ana çalışma kitabıyla birleştireceğiniz çalışma kitaplarının belirtilen çalışma sayfalarıdır. Bunları ihtiyaçlarınıza göre değiştirebilirsiniz.

VBA kodu 2: Çalışma Kitaplarını bire birleştirin (her çalışma sayfası, orijinal dosya adının önekiyle adlandırılacaktır):

Sub MergeWorkbooks()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
On Error Resume Next
xStrPath = "C:\Users\DT168\Desktop\KTE\"
xStrFName = Dir(xStrPath & "*.xlsx")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
Do While Len(xStrFName) > 0
    Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
    xStrAWBName = ActiveWorkbook.Name
    For Each xWS In ActiveWorkbook.Sheets
    xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.Count)
    Set xMWS = xTWB.Sheets(xTWB.Sheets.Count)
    xMWS.Name = xStrAWBName & "(" & xMWS.Name & ")"
    Next xWS
    Workbooks(xStrAWBName).Close
    xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

VBA kodu 3: Çalışma kitaplarının belirtilen çalışma sayfalarını bir ana çalışma kitabına birleştirin:

Sub MergeSheets2()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
Dim xI As Integer
On Error Resume Next

xStrPath = " C:\Users\DT168\Desktop\KTE\"
xStrName = "Sheet1,Sheet3"

xArr = Split(xStrName, ",")

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
xStrFName = Dir(xStrPath & "*.xlsx")
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
For xI = 0 To UBound(xArr)
If xWS.Name = xArr(xI) Then
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.count)
xMWS.Name = xStrAWBName & "(" & xArr(xI) & ")"
Exit For
End If
Next xI
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

4. Tuşuna basın. F5 kodu çalıştırmak için anahtar. Ardından, belirli bir klasördeki çalışma kitaplarının tüm çalışma sayfaları veya belirtilen çalışma sayfaları, aynı anda bir ana çalışma kitabıyla birleştirilir.


Birden çok çalışma kitabını veya belirtilen çalışma kitabını tek bir çalışma kitabında kolayca birleştirin

Neyse ki, Birleştirmek çalışma kitabı faydası Kutools for Excel birden çok çalışma kitabını tek bir çalışma kitabında birleştirmeyi çok daha kolay hale getirir. Bu işlevi birden çok çalışma kitabını birleştirerek nasıl çalıştıracağımızı görelim.

Başvurmadan önce Kutools for ExcelLütfen önce indirin ve kurun.

1. Yeni bir çalışma kitabı oluşturun ve Kutools Artı > Birleştirmek. Ardından, birleştirilmiş tüm çalışma kitaplarının kaydedilmesi gerektiğini ve özelliğin korumalı çalışma kitaplarına uygulanamayacağını hatırlatmak için bir iletişim kutusu açılır, lütfen OK düğmesine basın.

2. içinde Çalışma Sayfalarını Birleştirin sihirbaz, seçin Çalışma kitaplarından birden çok çalışma sayfasını tek bir çalışma kitabında birleştirin seçeneğini ve ardından Sonraki buton. Ekran görüntüsüne bakın:

3. içinde Çalışma Sayfalarını Birleştirin - Adım 2/3 iletişim kutusunda, Ekle > fileto or Dosya Excel dosyalarını eklemek için birleştireceksiniz. Excel dosyalarını ekledikten sonra, Bitiş düğmesine tıklayın ve ana çalışma kitabını kaydetmek için bir klasör seçin. Ekran görüntüsüne bakın:

Şimdi tüm çalışma kitapları bir araya getirildi.

Yukarıdaki iki yöntemle karşılaştırıldığında, Kutools for Excel aşağıdaki avantajlara sahiptir:

  • 1) Tüm çalışma kitapları ve çalışma sayfaları iletişim kutusunda listelenir;
  • 2) Birleştirmeden hariç tutmak istediğiniz çalışma sayfaları için işaretini kaldırmanız yeterlidir;
  • 3) Boş çalışma sayfaları otomatik olarak hariç tutulur;
  • 4) Orijinal dosya adı, birleştirmeden sonra sayfa adının önüne eklenecektir;
  • Bu özelliğin daha fazla işlevi için, lütfen burayı ziyaret edin.

  Bu yardımcı programın ücretsiz denemesine (30 günlük) sahip olmak istiyorsanız, indirmek için lütfen tıklayınızve ardından yukarıdaki adımlara göre işlemi uygulamaya gidin.


Excel için Kutools - Her Zaman Zamanının Ötesinde Çalışmanızı Bitirmenize, Hayatın Keyfini Çıkarmak için Daha Fazla Zamana Sahip Olmanıza Yardımcı
Kendinizi sık sık işe yetişirken, kendinize ve ailenize harcayacak zamanın olmadığını mı buluyorsunuz?  Kutools for Excel başa çıkmanıza yardımcı olabilir %80 Excel bulmacaları ve iş verimliliğini %80 artırın, size ailenizle ilgilenmek ve hayatın tadını çıkarmak için daha fazla zaman verin.
300 çalışma senaryosu için 1500 gelişmiş araç, işinizi her zamankinden çok daha kolay hale getirir.
Artık formülleri ve VBA kodlarını ezberlemenize gerek yok, bundan sonra beyninizi dinlendirin.
Karmaşık ve tekrarlanan işlemler, saniyeler içinde tek seferlik bir işlem yapılabilir.
Her gün binlerce klavye ve fare işlemini azaltın, meslek hastalıklarına şimdi veda edin.
3 dakika içinde Excel uzmanı olun, hızlı bir şekilde tanınmanıza ve maaş zammı promosyonuna yardımcı olun.
110,000 son derece etkili insan ve 300'den fazla dünyaca ünlü şirketin seçimi.
39.0 $ 'lık değeri 4000.0 $' dan fazla olan başkalarının eğitimini yapın.
30 günlük tam özellikli ücretsiz deneme. Sebepsiz 60 Günlük Para İade Garantisi.

Comments (146)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I have one workbook with 100+ sheets, I want to move all 100+ sheets into another workbook in a single sheet.
This comment was minimized by the moderator on the site
I had to read throught the comments to find suggestions that worked for my application of the VBA CODE 2, but I managed to get it to work doing the following things:
1. make sure to change "C:\Users\DT168\Desktop\KTE\" to your own directory to wherever you have your files are located. don't forget the extra "\" at the end!2. my spreadsheets were extension ".xls", so I deleted the extra "x" in this line, like so: xStrFName = Dir(xStrPath & "*.xlsx")3. I placed all my spreadsheets in a single folder, and only those files were the contents of that folder, the target macro enabled spreadsheet where this vba was running from was saved outside of this folder (hopefully this makes sense).
one thing that I didn't want to mess with though is I only needed to merge the 1st tab of each spreadsheet, but I didn't want to mess with the code so if each workbook you want to merge into one has multiple tabs, this code will grab all of the tabs on each workbook and place them in your target spreadsheet, I had to manually delete all the tabs I didn't want.
if the author of this vba could reply to me, how do you change the code to just copy the 1st tab as opposed to all the tabs?
thank you!
This comment was minimized by the moderator on the site
hi I want a change. If the the sheet name is same then the data should be appended in the same name sheet rather than adding a sheet. for example if i have 10 files with jan, feb, mar same sheetnames. then result should be 1 file having jan, feb, mar only 3 sheets with the data of all 10 files. thanks
This comment was minimized by the moderator on the site
Good morning,

Basically I have to copy the values of another file example c: \ test.xlsx (sheet name "date"):

I have to copy the values from A2: T20


And I have to paste in another Extract.xlsx file on the “Extracts” folder on A2.


PLEASE NOTE: You must run vba when opening the file.
This comment was minimized by the moderator on the site
Hello! I need to merge multiple files into one, that are password protected. All source files use the same password. What changes are needed to the first VBA script to merge the files without having to enter the password each time?
This comment was minimized by the moderator on the site
Hello any one can help me, I want to combine sheet 2 only from 5 different sheet, can you script for me.
This comment was minimized by the moderator on the site
you can use Array function to copy the multiple sheets to combine in one file
Sheets(Array("Sheet1","Sheet2")).copy
This comment was minimized by the moderator on the site
hai sir i want know code for copying multiple sheets in one excel to multiple excels
This comment was minimized by the moderator on the site
Sheets(Array("Sheet1","Sheet2")).copy
This comment was minimized by the moderator on the site
hai sir i want know code for copying multiple sheets in one excel to multiple excels
This comment was minimized by the moderator on the site
how to use VBA code 1 to amend and make it runs to combine all the .xlsx files into one excel file and each excel spreedsheet tab in the combined excel file should be named as original file name.thanks
This comment was minimized by the moderator on the site
What part of VBA code 3 specifies the name of the worksheet to be copied?
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations