Ugrás a tartalomra

Hogyan kombinálhat több munkafüzetet egy fő munkafüzetbe az Excelben?

Elakadt már valaha, amikor több munkafüzetet össze kell kapcsolnia az Excel fő munkafüzetévé? A legszörnyűbb az, hogy a kombinálandó munkafüzetek több munkalapot tartalmaznak. És hogyan lehet egyetlen munkafüzetbe egyesíteni csak a több munkafüzet meghatározott munkalapjait? Ez az oktatóprogram számos hasznos módszert mutat be, amelyek segítségével lépésről lépésre megoldhatja a problémát.


Egyesítsen több munkafüzetet egy munkafüzetbe az Áthelyezés vagy Másolás funkcióval

Ha csak pár munkafüzetet kell kombinálni, akkor az Áthelyezés vagy Másolás paranccsal manuálisan áthelyezheti vagy másolhatja a munkalapokat az eredeti munkafüzetből a fő munkafüzetbe.

1. Nyissa meg a munkafüzeteket, amelyeket egyesít egy fő munkafüzetbe.

2. Jelölje ki az eredeti munkafüzet munkalapjait, amelyeket áthelyez vagy átmásol a fő munkafüzetbe.

Megjegyzések:

1). Több nem szomszédos munkalapot is kijelölhet a Ctrl gombot, és egyenként kattintson a lapfülekre.

2). Több szomszédos munkalap kiválasztásához kattintson az első lap fülre, és tartsa lenyomva a gombot műszak gombot, majd az összes lap kijelöléséhez kattintson az utolsó lap fülre.

3). Kattintson jobb gombbal bármelyik lap fülre, majd kattintson a gombra Válassza az Összes lap lehetőséget a helyi menüből válassza ki a munkafüzet összes munkalapját egyszerre.

3. A szükséges munkalapok kiválasztása után kattintson a jobb gombbal a lap fülre, majd kattintson a gombra Áthelyezés vagy Másolás a helyi menüből. Lásd a képernyőképet:

4. Ezután a Áthelyezés vagy Másolás párbeszédpanel jelenik meg, a Foglalni legördülő menüből válassza ki azt a fő munkafüzetet, amelybe áthelyezi vagy másolja a munkalapokat. Válassza ki az áthelyezést a Lap előtt jelölje be a négyzetet Hozzon létre egy példányt mezőbe, és végül kattintson a gombra OK gombot.

Ezután láthatja a munkalapokat két munkafüzetben, amelyek egybe vannak egyesítve. Kérjük, ismételje meg a fenti lépéseket a munkalapok más munkafüzetekből a fő munkafüzetbe történő áthelyezéséhez.


Kombináljon több munkafüzetet vagy meghatározott munkafüzetlapokat a VBA-val ellátott fő munkafüzetbe

Ha több munkafüzetet kell egyesíteni, akkor a következő VBA-kódokat alkalmazhatja annak gyors eléréséhez. Kérjük, tegye a következőket.

1. Helyezze az összes egyesíteni kívánt munkafüzetet egy könyvtárba.

2. Indítson el egy Excel fájlt (ez a munkafüzet lesz a fő munkafüzet).

3. megnyomni a más + F11 billentyűk megnyitásához Microsoft Visual Basic alkalmazásokhoz ablak. Ban,-ben Microsoft Visual Basic alkalmazásokhoz ablakban kattintson betétlap > Modulok, majd másolja a VBA kód alatt a Modul ablakba.

1. VBA-kód: Több Excel munkafüzet egyesítése egybe

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
	

Megjegyzések:

1. A fenti VBA-kód megőrzi az eredeti munkafüzetek lapneveit az összevonás után.

2. Ha meg akarja különböztetni, hogy a fő munkafüzet mely munkalapjai honnan jöttek az összevonás után, kérjük, alkalmazza az alábbi VBA kódot 2.

3. Ha csak a munkafüzetek meghatározott munkalapjait szeretné összekapcsolni egy fő munkafüzettel, akkor az alábbi 3. VBA-kód segíthet.

A VBA kódokban „C: \ Users \ DT168 \ Desktop \ KTE \”A mappa elérési útja. A VBA kódban 3 "1. lap, 3. lap"a munkafüzetek meghatározott munkalapjai, amelyeket össze fog állítani egy fő munkafüzettel. Megváltoztathatja azokat az Ön igényei szerint.

2. VBA-kód: Egyesítse a munkafüzeteket (mindegyik munkalapot az eredeti fájlnevének előtagjával nevezik el):

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

3. VBA-kód: Egyesítse a munkafüzetek meghatározott munkalapjait egy fő munkafüzetbe:

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. megnyomni a F5 gombot a kód futtatásához. Ezután az adott mappában található összes munkafüzet vagy a megadott munkafüzetek egyszerre egyesülnek egy fő munkafüzettel.


Könnyen kombinálhat több munkafüzetet vagy meghatározott munkafüzetlapokat egy munkafüzetbe

Szerencsére a Kombájn munkafüzet segédprogramja Kutools az Excel számára sokkal könnyebbé teszi a több munkafüzet egyesítését egyben. Nézzük meg, hogyan érhető el ez a funkció több munkafüzet kombinálásakor.

Alkalmazás előtt Kutools az Excel számáraKérjük, először töltse le és telepítse.

1. Hozzon létre egy új munkafüzetet, és kattintson a gombra Kutools Plus > Kombájn. Ezután megjelenik egy párbeszédpanel, amely emlékeztet arra, hogy az összes kombinált munkafüzetet el kell menteni, és a funkciót nem lehet alkalmazni a védett munkafüzetekre. Kérjük, kattintson a OK gombot.

2. Ban,-ben Kombinálja a munkalapokat varázsló, válassza a lehetőséget Kombinálja a munkafüzetek több munkalapját egy munkafüzetbe lehetőséget, majd kattintson a gombra Következő gomb. Lásd a képernyőképet:

3. Ban,-ben Kombinálja a munkalapokat - 2/3 lépés párbeszédpanelen kattintson a hozzáad > filé or Mappa az Excel fájlok hozzáadásához össze fogja egyesíteni. Az Excel fájlok hozzáadása után kattintson a gombra befejez gombra, és válasszon egy mappát a fő munkafüzet mentéséhez. Lásd a képernyőképet:

Most az összes munkafüzet egybe van egyesítve.

A fenti két módszerrel összehasonlítva Kutools az Excel számára a következő előnyökkel rendelkezik:

  • 1) Az összes munkafüzet és munkalap megtalálható a párbeszédpanelen;
  • 2) Az egyesítésből kizárni kívánt munkalapokhoz csak törölje a jelet;
  • 3) Az üres munkalapok automatikusan kizárásra kerülnek;
  • 4) Az eredeti fájlnév az egyesítés után előtagként kerül a lap nevéhez;
  • A funkció további funkcióinak megtekintéséhez kérjük, látogasson el ide.

  Ha ingyenes (30 napos) próbaverziót szeretne kapni a segédprogramról, kattintson a letöltéshez, majd lépjen a művelet végrehajtására a fenti lépések szerint.


Kutools Excelhez - Segít a munka idő előtti befejezésében, legyen több ideje élvezni az életet
Gyakran találja magát magával a munka felzárkóztatásában, a saját és családja számára eltöltött idő hiányában?  Kutools az Excel számára segíthet megbirkózni 80% Excel rejtvények és 80%-os munkahatékonyság javítása, több idő jut a családdal való törődésre és az élet élvezetére.
300 fejlett eszköz 1500 munkamenethez, sokkal könnyebbé teszi munkáját, mint valaha.
Nincs többé szüksége képletek és VBA kódok memorizálására, mostantól pihentesse az agyad.
A bonyolult és ismételt műveletek másodpercek alatt egyszeri feldolgozást végezhetnek.
Csökkentse a napi billentyűzet és egér több ezer műveletét, búcsúzzon el a foglalkozási betegségektől.
Legyen 3 perc alatt Excel-szakértő, segítsen gyorsan elismertetni és fizetésemelési promóciót kapni.
110,000 300 rendkívül hatékony ember és több mint XNUMX világhírű vállalat választása.
Tegyen 39.0 dollárt többet, mint mások 4000.0 dolláros képzése.
Teljes szolgáltatás ingyenes próbaverzió 30 nap. 60 napos pénzvisszafizetési garancia ok nélkül.

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