• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

140 tabbladen samenvoegen tot 1 werkblad

Status
Niet open voor verdere reacties.

Iejoor

Gebruiker
Lid geworden
25 feb 2007
Berichten
83
Ik heb een bestand dat bestaat uit 140 tabbladen, met vaste kolommen maar verschillend aantal regels. Ik wil deze tabbladen samenvoegen tot 1 werkblad (of in access 2007)
Wie weet er een slimme methode?

bedankt alvast!
 
Lejoor, Probeer dit blokje code maar ff uit op een kopie van je workbook. Voeg éérst nóg een nieuwe sheet toe die je als ALLEREERSTE plaatst.
Code:
Sub Samenvoegen()
Dim sh As Integer

    For sh = 2 To ThisWorkbook.Sheets.Count
        Sheets(sh).Range("A1:" & Sheets(sh).Cells(Rows.Count, 1).End(xlUp).Address).EntireRow.Copy Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1)
    Next sh

End Sub

Groet, Leo
 
En nu vanuit verschillende bestanden

Voortbordurend op deze oplossing de vraag hoe de code eruit moet zien als de data in bijv. 3 verschillende bestanden staan. Dus eerst alle drie bestanden openen en dan in een vierde bestand de gegevens op één tabbald samenvoegen uit de drie andere bestanden (met elk één tabblad)

Groet

Visus
 
Wil je de waarden van de werkbladen of ook de formules en de opmaak ?

Code:
Sub samen()
  With workbooks.add
    .saveas "samen"
  end with
  for each wb in Workbooks
    if wb.name<>"samen.xls" then 
       sq=wb.sheets(1).usedrange
       Workbooks("samen.xls").sheets(1).cells(rows.count,1).end(xlup).offset(1).resize(ubound(sq),ubound(sq,2))=sq
    End if
   next
End Sub
 
Laatst bewerkt:
Als het kan ook de formules en de opmaak.

Ik kan het even niet uitproberen, maar voegt deze code alle gegevens samen uit alle geopende bestanden? Ik neem aan dat dan wel in alle bestanden de klommen gelijk moeten zijn?

Alvast bedankt,

Visus
 
Alle gegevens zonder beperking, edoch geen formules en opmaak.
Kolommen en rijen hoeven niet hetzelfde te zijn.
De volgende kaar svp de echte vraag stellen: hoeveel bestanden, waar staan ze, welke namen, welke layout, welke criteria aan het eindresultaat; de zin van deze exercitie, wat gebeurt er met het resultaat.
 
Sorry voor de onduidelijkheid, maar het betreft bestanden die op een netwerk staan, waar ik thuis niet op kan en wat ik dus niet zo makkelijk kan controleren of het werkt.

Het betreft 8 bestanden op de zeg maar C:\Visus, genaamd Extr1, Extr2 etc.
Het zijn extracties uit een bronbestand waarvan elke week het aantal rijen anders is. Aantal inhoud en layout van de kolommen is in alle bestanden altijd gelijk.
Elk bestand kent 1 tabblad met gegevens, de meeste kolommen bevatten tekst een enkele kolom een datum. Nadat de extracties opgevraagd zijn en de inhoud van de 8 bestanden gewijzigd worden er m.b.v. een macro een aantal kolommen aan toegevoegd waarin oa. de leeftijd van de in het bestand opgenomen personen berekend wordt.
In al deze bestanden komen dubbele records (regels voor); elke regel is in principe uniek maar als er meerdere personen in de registratie voorkomen wordt er een nieuwe regel gemaakt die dezelfde basisgegevens bevat maar de personalia van de 2e, 3e persoon enz.

De bedoeling van het samenvoegen is dat alle gegevens (regels) worden samengevoegd in een bestaand 9e al bestaand bestand C:\Visus\Totaal. Op dit totaal worden diverse berekeningen uitgevoerd. Daarnaast moeten deze regels op een ander tabblad in het bestand Totaal worden ontdubbeld, maar daar had ik al een code voor gevonden.

Wat moet ik aanpassen zodat de samengevoegde gegevens niet in een nieuw bestand "samen" terechtkomen maar in het geopende C:\Visus\Totaal op een bestaand tabblad 1
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan