Note: The other languages of the website are Google-translated. Back to English

Hoe combineer je meerdere werkmappen in één hoofdwerkmap in Excel?

Ben je ooit vastgelopen wanneer je meerdere werkmappen moet combineren tot een hoofdwerkmap in Excel? Het ergste is dat de werkmappen die u moet combineren, meerdere werkbladen bevatten. En hoe combineer je alleen de opgegeven werkbladen van meerdere werkmappen in één werkmap? In deze zelfstudie worden verschillende handige methoden gedemonstreerd waarmee u het probleem stap voor stap kunt oplossen.


Combineer meerdere werkmappen in één werkmap met de functie Verplaatsen of Kopiëren

Als er slechts een paar werkmappen moeten worden gecombineerd, kunt u de opdracht Verplaatsen of Kopiëren gebruiken om werkbladen handmatig van de originele werkmap naar de hoofdwerkmap te verplaatsen of te kopiëren.

1. Open de werkmappen die u wilt samenvoegen tot een hoofdwerkmap.

2. Selecteer de werkbladen in de originele werkmap die u naar de hoofdwerkmap wilt verplaatsen of kopiëren.

Opmerkingen:

1). U kunt meerdere niet-aangrenzende werkbladen selecteren door de Ctrl toets en klik één voor één op de bladtabs.

2). Om meerdere aangrenzende werkbladen te selecteren, klikt u op de eerste bladtab, houdt u de Shift key en klik vervolgens op de laatste bladtab om ze allemaal te selecteren.

3). U kunt met de rechtermuisknop op een bladtab klikken, klik op Selecteer Alle bladen vanuit het contextmenu om alle werkbladen in de werkmap tegelijkertijd te selecteren.

3. Nadat u de benodigde werkbladen heeft geselecteerd, klikt u met de rechtermuisknop op de bladtab en klikt u vervolgens op Verplaatsen of kopiëren vanuit het contextmenu. Zie screenshot:

4. Vervolgens de Verplaatsen of kopiëren dialoogvenster verschijnt in het Boeken in de vervolgkeuzelijst, selecteert u de hoofdwerkmap waarnaar u de werkbladen wilt verplaatsen of kopiëren. Selecteer verplaatsen om te eindigen in het Voor blad vakje, vink het Maak een kopie vak en klik ten slotte op het OK knop.

Vervolgens kunt u werkbladen in twee werkmappen in één gecombineerd zien. Herhaal de bovenstaande stappen om werkbladen van andere werkmappen naar de hoofdwerkmap te verplaatsen.


Combineer meerdere werkmappen of gespecificeerde werkbladen tot een hoofdwerkmap met VBA

Als er meerdere werkmappen moeten worden samengevoegd tot één, kunt u de volgende VBA-codes toepassen om dit snel te bereiken. Ga als volgt te werk.

1. Zet alle werkmappen die u wilt combineren in één map onder dezelfde directory.

2. Start een Excel-bestand (deze werkmap wordt de hoofdwerkmap).

3. druk de anders + F11 toetsen om de te openen Microsoft Visual Basic voor applicaties venster. In de Microsoft Visual Basic voor applicaties venster klikt Invoegen > Moduleen kopieer vervolgens de VBA-code naar het modulevenster.

VBA-code 1: voeg meerdere Excel-werkmappen samen tot één

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
	

Opmerkingen:

1. De bovenstaande VBA-code behoudt de bladnamen van de originele werkmappen na het samenvoegen.

2. Als u na het samenvoegen wilt onderscheiden welke werkbladen in de hoofdwerkmap vandaan komen, past u de onderstaande VBA-code 2 toe.

3. Als u alleen gespecificeerde werkbladen van de werkmappen wilt combineren tot een hoofdwerkmap, kan de onderstaande VBA-code 3 helpen.

In VBA-codes, "C: \ Users \ DT168 \ Desktop \ KTE \”Is het mappad. In de VBA-code 3, "Blad1, Blad3"zijn de gespecificeerde werkbladen van de werkmappen die u wilt combineren tot een hoofdwerkmap. U kunt ze wijzigen op basis van uw behoeften.

VBA-code 2: werkmappen samenvoegen tot één (elk werkblad krijgt een naam met het voorvoegsel van de oorspronkelijke bestandsnaam):

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-code 3: gespecificeerde werkbladen van werkmappen samenvoegen tot een hoofdwerkmap:

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. druk de F5 sleutel om de code uit te voeren. Vervolgens worden alle werkbladen of gespecificeerde werkbladen van de werkmappen in de bepaalde map in één keer gecombineerd tot een hoofdwerkmap.


Combineer eenvoudig meerdere werkmappen of gespecificeerde werkbladen in één werkmap

Gelukkig is de Combineren werkmap hulpprogramma van Kutools for Excel maakt het veel gemakkelijker om meerdere werkmappen samen te voegen tot één. Laten we eens kijken hoe we deze functie kunnen laten werken door meerdere werkmappen te combineren.

Voor het aanvragen Kutools for Excel, Dan kunt u download en installeer het eerst.

1. Maak een nieuwe werkmap en klik op Koetools Plus > Combineren. Vervolgens verschijnt er een dialoogvenster om u eraan te herinneren dat alle gecombineerde werkmappen moeten worden opgeslagen en dat de functie niet kan worden toegepast op beschermde werkmappen.Klik op de OK knop.

2. In de Combineer werkbladen wizard, selecteer Combineer meerdere werkbladen uit werkmappen in één werkmap optie en klik vervolgens op het Volgende knop. Zie screenshot:

3. In de Combineer werkbladen - Stap 2 van 3 dialoogvenster, klik op de Toevoegen > Dien in or Map om de Excel-bestanden toe te voegen die u tot één samenvoegt. Klik na het toevoegen van de Excel-bestanden op het Finish en kies een map om de hoofdwerkmap op te slaan. Zie screenshot:

Nu zijn alle werkmappen samengevoegd tot één.

Vergeleken met de bovenstaande twee methoden, Kutools for Excel heeft de volgende voordelen:

  • 1) Alle werkmappen en werkbladen worden weergegeven in het dialoogvenster;
  • 2) Voor de werkbladen die u niet wilt samenvoegen, schakelt u het vinkje uit;
  • 3) Lege werkbladen worden automatisch uitgesloten;
  • 4) De originele bestandsnaam wordt na het samenvoegen als voorvoegsel aan de bladnaam toegevoegd;
  • Voor meer functies van deze functie, bezoek hier.

  Als u een gratis proefperiode wilt hebben (30-dag) van dit hulpprogramma, klik om het te downloaden, en ga vervolgens de bewerking toepassen volgens de bovenstaande stappen.


Kutools voor Excel - Helpt u uw werk altijd op tijd af te werken, meer tijd te hebben om van het leven te genieten
Vind je jezelf vaak een inhaalslag met werk, gebrek aan tijd om voor jezelf en je gezin te besteden?  Kutools for Excel kan je helpen ermee om te gaan 80% Excel-puzzels en verbetering van 80% werkefficiëntie, geeft u meer tijd om voor het gezin te zorgen en van het leven te genieten.
300 geavanceerde tools voor 1500 werkscenario's, maken uw werk zo veel gemakkelijker dan ooit.
U hoeft geen formules en VBA-codes meer te onthouden, geef uw hersenen vanaf nu rust.
Ingewikkelde en herhaalde bewerkingen kunnen binnen enkele seconden een eenmalige verwerking worden uitgevoerd.
Verminder elke dag duizenden toetsenbord- en muisbewerkingen, zeg nu vaarwel tegen beroepsziekten.
Word Excel-expert in 3 minuten, help u snel herkend te worden en maak een promotie voor loonsverhoging.
110,000 zeer effectieve mensen en meer dan 300 keuze van wereldberoemde bedrijven.
Maak uw $ 39.0 meer waard dan $ 4000.0 training van anderen.
Gratis proefversie met volledige functionaliteit 30-dag. 60 dagen geld-terug-garantie zonder opgaaf van reden.

Heb je vragen? Stel ze hier. (146)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Hallo Plz help me met deze onderstaande voorwaarde. Ik heb een verschillende werkmap met meer dan 5 werkbladen, elk in een ander pad. Ik moet alle werkbladen van verschillende werkmappen consolideren in een enkele werkmap. Kan iemand me helpen om het op te lossen met macro.TIA!
Deze opmerking is gemaakt door de moderator op de site
[quote]Hallo, help me met deze onderstaande voorwaarde. Ik heb een verschillende werkmap met meer dan 5 werkbladen, elk in een ander pad. Ik moet alle werkbladen van verschillende werkmappen consolideren in een enkele werkmap. Kan iemand me helpen om het op te lossen met macro.TIA!Door A. Karthi[/quote] Ga alsjeblieft naar het downloaden en installeren van de Kutools voor Excel, je kunt het snel voor elkaar krijgen. Maar als u een VBA wilt gebruiken, kan het te ingewikkeld zijn. Ga voor meer informatie over hoe u dit kunt doen naar:http://www.extendoffice.com/product/kutools-for-excel/excel-combine-worksheets-into-one.html
Deze opmerking is gemaakt door de moderator op de site
KUTOOLS Geweldige oplossing. Ik heb nog een hulp nodig wanneer ik een hoofdwerkmap maak, waarna de celkleur van het werkblad wordt gewijzigd van het originele werkblad. Hoe kan ik het houden als het originele werkblad.
Deze opmerking is gemaakt door de moderator op de site
Ons kantoor heeft dubbele gegevens (dwz naam, adres, stad, bedrag, ondertekende datum) van verschillende Excel-originelen en het zal een werk in uitvoering zijn om de gegevens te combineren. Hoe kan dat worden gedaan om dubbel werk en dubbele informatie-invoer te elimineren?
Deze opmerking is gemaakt door de moderator op de site
Ik krijg een 'runtime error 1004', de kopieermethode van de werkbladklasse is mislukt op de regel die luidt: Sheet.Copy After:=ThisWorkbook.Sheets(1). Ik gebruik Excel 2010. Kunt u mij helpen? Bedankt, - Susie
Deze opmerking is gemaakt door de moderator op de site
Hey Susie, Ik werk zelf al een tijdje aan dit probleem en krijg dezelfde foutmelding. Controleer of de module is gemaakt onder PERSONAL in plaats van uw actieve werkmap. Nadat ik de module onder de juiste boom had gemaakt, werkte de onderstaande code prima. Sub GetSheets_xls() Dim Sheet As Worksheet Path = "C:\Users\yournamehere\Desktop\Testingfolder\" Filename = Dir(Pad & "*.xls") Do While Filename "" Workbooks.Open Filename:=Pad & Filename, ReadOnly:=False Set Sheet = ActiveWorkbook.Sheets(1) Sheet.Copy After:=ThisWorkbook.Sheets(1) 'Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub Ik hoop dat dit helpt!
Deze opmerking is gemaakt door de moderator op de site
Hartelijk bedankt. Je code werkte goed.
Deze opmerking is gemaakt door de moderator op de site
[quote]Ik krijg een 'runtime error 1004', Copy Method of Worksheet class is mislukt op de regel die luidt: Sheet.Copy After:=ThisWorkbook.Sheets(1). Ik gebruik Excel 2010. Kunt u mij helpen? Bedankt, - SusieDoor Susie[/quote] Had hetzelfde probleem, het werkt wanneer ik "PERSOONLIJK" ga bekijken en zichtbaar maak, het lijkt problemen te hebben om toegang te krijgen tot deze macro met de master verborgen.
Deze opmerking is gemaakt door de moderator op de site
Ga naar weergave en maak "PERSOONLIJK" zichtbaar - het lijkt problemen te hebben om de hele code uit te voeren terwijl de master verborgen is. Je kunt de macro native maken voor die werkmap, maar je zou het hele ding opnieuw moeten maken elke keer dat je het wilde gebruiken
Deze opmerking is gemaakt door de moderator op de site
Hoi! Heel erg bedankt voor dit bestand............. :roll: Met vriendelijke groet
Deze opmerking is gemaakt door de moderator op de site
Hee goede tip. Deed bijna alles wat ik wou. In het combinde-werkboek had ik graag gezien dat de naam van het werkblad de naam van het originele werkboek zou bevatten, zodat ik weet uit welk werkboek de gegevens komen. De gegevens die ik combineer, komen uit verschillende archieven. Ik moet zoeken naar een item, maar weet niet in welk archief het zich bevindt. Dus door alle gegevens in één bestand te combineren, kan ik alle archieven tegelijk doorzoeken. Maar ik moet nog steeds weten in welk archief het bericht zich bevindt. Henrik
Deze opmerking is gemaakt door de moderator op de site
Doe dit gewoon om de code de bestandsnaam te laten opnemen. Sub GetSheets() Dim temp As String Path = "C:\Users\....\Desktop\Excel combine\" Filename = Dir(Pad & "*.xlsx") Do While Filename "" Workbooks.Open Filename:= Pad & bestandsnaam, alleen-lezen:=True temp = ActiveWorkbook.Name ActiveSheet.Name = temp ActiveWorkbook.Sheets(temp).Copy After:=ThisWorkbook.Sheets(1) Workbooks(Filename).Close Filename = Dir() Loop End Sub Note : dit is om alleen het eerste blad te kopiëren, het kan worden getweet om alle bladen te maken
Deze opmerking is gemaakt door de moderator op de site
Hoe neem je meer bladen op en hoe geef je een ander hoofdbestand op om alle bladen te plakken.
Deze opmerking is gemaakt door de moderator op de site
Het is inderdaad een geweldige oplossing. bedankt. Eén probleem echter, wanneer ik het op deze manier uitvoer, zal Excel vragen of ik wijzigingen wil opslaan voordat ik het afsluit (aangezien de naam is gewijzigd), en ik wil het niet voor elk bestand doen (ongeveer 32 per uitvoering). Zou er een manier zijn om dit op te lossen?
Deze opmerking is gemaakt door de moderator op de site
Dit is super :lol: heeft me enorm geholpen....
Deze opmerking is gemaakt door de moderator op de site
Bedankt maat, je hebt mijn dag goed gemaakt van deze zeer nuttige website... Eigenlijk wilde ik ook dezelfde kopgegevens van verschillende bladen combineren in 1 hoofdwerkblad, de KUTOOL voor Excel heeft me veel geholpen.... Nogmaals bedankt .... :)
Deze opmerking is gemaakt door de moderator op de site
Hartelijk dank voor de waardevolle informatie. Dit werkt echt. De stappen in dit artikel hebben mijn werk echt gemakkelijker gemaakt. Bedankt, Dinesh
Deze opmerking is gemaakt door de moderator op de site
bedankt voor het delen van je kennis
Deze opmerking is gemaakt door de moderator op de site
Hoe zorg je ervoor dat de wijzigingen van de originele werkmap worden bijgewerkt? Ik probeer een nationale samenvatting te krijgen waarin elke regio zijn gegevens in zijn eigen werkboeken invoert en dan de nationale samenvatting die hieruit wordt bijgewerkt? Ik zou dit aan het begin voor het hele jaar willen hebben en niet achteraf werken.
Deze opmerking is gemaakt door de moderator op de site
Na het combineren van de werkbladen in één werkmap, hoe sla je het op? Ik kon het niet opslaan, het heet Boek1 en ik klik op opslaan of opslaan als maar werkt niet. Suggesties?
Deze opmerking is gemaakt door de moderator op de site
Ik volgde de stappen in "Combineer meerdere werkmappen tot één werkmap met VBA" en klik op "uitvoeren", er gebeurde niets. Ik ben niet op de hoogte van fouten en weet niet hoe ik dit moet corrigeren. Zou je me helpen? het volgende is de code die ik in een nieuwe werkmap heb ingevoerd. Dank u Sub GetSheets() Path = "p:\download\macro\" Bestandsnaam = Dir(Pad & "*.xls") Do While Bestandsnaam "" Workbooks.Open Bestandsnaam:=Pad & Bestandsnaam, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub
Deze opmerking is gemaakt door de moderator op de site
Geachte heer/mevrouw: Ik heb de stappen van "Combineer meerdere werkmappen tot één werkmap met VBA" gevolgd om de volgende module in te stellen, maar er gebeurde niets. Kunt u mij helpen het probleem te vinden? bedankt Sub GetSheets() Path = "p:\download\macro\" Filename = Dir(Pad & "*.xls") Do While Filename "" Workbooks.Open Filename:=Pad & Bestandsnaam, ReadOnly:=True For Each Blad in ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub
Deze opmerking is gemaakt door de moderator op de site
probeer dit voor nieuwere versies van Excel. Ik heb mijn open werkmap opgeslagen als catalogus en alle bestanden staan ​​in c:\temp. Sub GetSheets() Path = "c:\temp\" Bestandsnaam = Dir(Pad & "*.xls") Do While Bestandsnaam "" Workbooks.Open Bestandsnaam:=Pad & Bestandsnaam, ReadOnly:=Waar voor elk blad in ActiveWorkbook. Spreadsheets Sheet.Copy After:=Workbooks("catalog.xlsx").Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub
Deze opmerking is gemaakt door de moderator op de site
Probeer dit voor nieuwere versies van Excel. Ik heb mijn werkmap opgeslagen als catalogus, alle bestanden staan ​​in c:\temp. Sub GetSheets() Path = "c:\temp\" Bestandsnaam = Dir(Pad & "*.xls") Do While Bestandsnaam "" Workbooks.Open Bestandsnaam:=Pad & Bestandsnaam, ReadOnly:=Waar voor elk blad in ActiveWorkbook. Spreadsheets Sheet.Copy After:=Workbooks("catalog.xlsx").Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub
Deze opmerking is gemaakt door de moderator op de site
[quote]Probeer dit voor nieuwere versies van Excel. Ik heb mijn werkmap opgeslagen als catalogus, alle bestanden staan ​​in c:\temp. Sub GetSheets() Path = "c:\temp\" Bestandsnaam = Dir(Pad & "*.xls") Do While Bestandsnaam "" Workbooks.Open Bestandsnaam:=Pad & Bestandsnaam, ReadOnly:=Waar voor elk blad in ActiveWorkbook. Spreadsheets Sheet.Copy After:=Workbooks("catalog.xlsx").Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End SubDoor Dave[/quote] Ik krijg steeds "kan niet toewijzen aan alleen-lezen eigenschap" met betrekking tot het pad... Enig idee?
Deze opmerking is gemaakt door de moderator op de site
Ik heb dit probleem ook. Ben je erachter gekomen?
Deze opmerking is gemaakt door de moderator op de site
Nog niets... Ik heb nog geen oplossing gevonden of iemand een oplossing laten voorstellen. Sorry...
Deze opmerking is gemaakt door de moderator op de site
Ik ook. Dit werkte 6 maanden geleden, de laatste keer dat ik het moest gebruiken. Heeft iemand de oplossing al gevonden? Als je het eerder had draaien en nu werkt het niet, kan het dan iets te maken hebben met een update van Microsoft? Dit is echt een handig hulpmiddel voor mijn taken en het bespaart me veel tijd. Wat zou er veranderd kunnen zijn waardoor Excel dit bericht ineens zou gaan weergeven? Omdat ik vrij nieuw ben in VBA, heb ik weinig idee waar ik moet beginnen met het analyseren van de logica. Met vriendelijke groet, Greg. Glasgow, Schotland.
Deze opmerking is gemaakt door de moderator op de site
Het lijkt erop dat "Pad" nu is gereserveerd, dus gebruik gewoon een andere naam en vervang "Pad", bijvoorbeeld "Mijnpad".
Deze opmerking is gemaakt door de moderator op de site
Misschien moet je ReadOnly:=True veranderen in ReadOnly:=False, ik heb het gedaan en het was nuttig
Deze opmerking is gemaakt door de moderator op de site
Ik was op zoek naar iets in deze richting, maar wilde reageren. Moet de Do While-bestandsnaam "" niet iets anders zijn dan ""? of lees ik dat verkeerd? Misschien Do While NOT bestandsnaam = "" Gewoon een gedachte...
Deze opmerking is gemaakt door de moderator op de site
Ik wil alle bladen combineren in één blad waar de koppen gemeenschappelijk zijn ... help
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik heb geprobeerd de bovenstaande macro's te gebruiken om enkele bestanden te verzamelen, helaas geen resultaten... kan iemand me helpen om het handmatig verzamelen van bestanden kwijt te raken.
Deze opmerking is gemaakt door de moderator op de site
ik heb 112 Excel-bladen die ik in een enkel blad wil plaatsen zonder kopiëren en plakken. Help me alsjeblieft.
Deze opmerking is gemaakt door de moderator op de site
Ik heb een werkmap die ongeveer 250 vel bevat. Ik moet Cobain in één vel. geef me alsjeblieft een oplossing
Deze opmerking is gemaakt door de moderator op de site
Probeer dit eens ... Ik heb dit van een andere site, maar helaas kan ik de naam van de dame niet onthouden, dus mijn excuses voor het niet noemen van haar, mijn fout" Combineer meerdere WB's in Excel: VERGEET NIET TE WIJZIGEN MyPath = ! Sub Merge2MultiSheets( ) Dim wbDst As Workbook Dim wbSrc As Workbook Dim wsSrc As Worksheet Dim MyPath As String Dim strFilename As String Application.DisplayAlerts = False Application.EnableEvents = False Application.ScreenUpdating = False MyPath = "\\MyPath\etc\etc..." Stel wbDst = Workbooks.Add(xlWBATWorksheet) in strFilename = Dir(MyPath & "\*.xls", vbNormal) If Len(strFilename) = 0 Sluit vervolgens Sub Do Until strFilename = "" Set wbSrc = Workbooks.Open(Filename:= MyPath & "\" & strFilename) Stel wsSrc = wbSrc.Worksheets(1) wsSrc.Copy After:=wbDst.Worksheets(wbDst.Worksheets.Count) wbSrc.Close False strFilename = Dir() Loop wbDst.Worksheets(1) in. Verwijder Application.DisplayAlerts = True Application.EnableEvents = True Application.ScreenUpdating = True End Sub
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik heb de code toegevoegd aan een module. Het Excel-boek Masterfile genoemd. Waar in de code moet ik toevoegen. bedankt
Deze opmerking is gemaakt door de moderator op de site
Geen van deze werkte voor mij. Ik heb deze eindelijk werkend gekregen. Ter info: ik gebruik 2010 'Beschrijving: combineert alle bestanden in een map tot een hoofdbestand. Sub MergeFiles() Dim pad As String, ThisWB As String, lngFilecounter As Long Dim wbDest As Workbook, shtDest As Worksheet, ws As Worksheet Dim Filename As String, Wkb As Workbook Dim CopyRng As Range, Best As Range Dim RowofCopySheet As Integer RowofCopySheet = 2 ' Rij om mee te beginnen in de werkbladen die u kopieert ThisWB = ActiveWorkbook.Name path = "mypath....." ' Vergeet niet deze Application.EnableEvents = False Application.ScreenUpdating = False Set shtDest = ActiveWorkbook .Sheets(1) Bestandsnaam = Dir(pad & "\*.xls", vbNormal) Als Len(Bestandsnaam) = 0 Dan Sub afsluiten Doen tot Bestandsnaam = vbNullString Indien niet Bestandsnaam = ThisWB Stel vervolgens Wkb = Werkboeken in.Open(Bestandsnaam: =pad & "\" & Bestandsnaam) Set CopyRng = Wkb.Sheets(1).Range(Cells(RowofCopySheet, 1), Cells(ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count)) Set Dest = shtDest.Range("A" & shtDest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1) CopyRng.Copy Dest Wkb.Close False End If Filename = Dir() Loop Rang e("A1").Select Application.EnableEvents = True Application.ScreenUpdating = True MsgBox "Klaar!" Einde sub
Deze opmerking is gemaakt door de moderator op de site
Hoe bewerk ik dit zodat de ingevoerde gegevens altijd op de bovenste rij beginnen? Als ik deze code twee keer uitvoer, worden de gegevens toegevoegd aan het einde van mijn vorige gegevens (vanaf de eerste uitvoering van de macro).
Deze opmerking is gemaakt door de moderator op de site
Verander deze regel: RowofCopySheet = 2 naar RowofCopySheet = 1
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik heb meerdere Excel-bestanden (enkel blad) verschillende mappen met wachtwoordbeveiliging. ik wil aan het eind van de dag alle gegevens combineren tot één hoofdbestand. Elke keer dat ik een wachtwoord moet invoeren en het bestand moet openen en kopiëren naar het hoofdbestand. Help me alstublieft met VBA-code hiervoor.
Er zijn nog geen reacties geplaatst
Laad meer

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL