• 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.

Gegevens uit 250 bestandjes in 1 bestand samenvoegen?

Status
Niet open voor verdere reacties.

Shimoni

Nieuwe gebruiker
Lid geworden
11 mrt 2005
Berichten
3
Hoi,

Ik heb zo'n 250 excel bestandjes die ik overzichtelijk in 1 bestandje wil hebben. Uit elk bestandje wil ik 6 gegevens halen. Alle bestandjes zijn qua opbouw hetzelfde, alleen de inhoud van de cellen verschilt meestal.

Uit het eerste bestandje moet de inhoud van C3 in A3, C5 in B3, C6 in C3, C8 in D3, C11 in E3 en C28 in F3 komen.

Uit het tweede bestandje moet de inhoud van C3 in A4, C5 in B4, C6 in C4, C8 in D4, C11 in E4 en C28 in F4 komen.

Uit het derde bestandje moet de inhoud van C3 in A5, C5 in B5, C6 in C5, C8 in D5, C11 in E5 en C28 in F5 komen.
enz. enz.

Ik heb een klein opzetje gemaakt. In het storingsoverzicht zie je waar alles in moet komen, en ik heb als voorbeeld 2 mapjes toegevoegd waar formuliertjes staan zoals de 250 bestandjes.

Wie kan me helpen dit samen te voegen????
 

Bijlagen

Laatst bewerkt:
Hier een voorbeeld hoe dat zou kunnen.

Open de zip file en zet de bestand in direct op de c-schijf, dus niet in een mapje (kan op zich wel, maar dan zal dit voorbeeld niet werken).

Open Storingen.xls en druk op start, de twee bestanden storingen001.xls en storingen002.xls zullen ingelezen worden.

De macro die e.a. verzorgt is deze;
Sub Macro2()
'
' Macro2 Macro
' De macro is opgenomen op 11-3-2005 door --.
'

Dim t
Dim bladnaam As String

For t = 1 To 2
ActiveWorkbook.Save
Workbooks.Open Filename:= _
"C:\storingen00" & t & ".xls"
bladnaam = ActiveSheet.Name
Windows("storingen.xls").Activate
Range("A" & t + 2).Select
ActiveCell.FormulaR1C1 = "=[storingen00" & t & ".xls]" & bladnaam & "!R3C3"
Range("B" & t + 2).Select
ActiveCell.FormulaR1C1 = "=[storingen00" & t & ".xls]" & bladnaam & "!R5C3"
Range("C" & t + 2).Select
ActiveCell.FormulaR1C1 = "=[storingen00" & t & ".xls]" & bladnaam & "!R6C3"
Range("D" & t + 2).Select
ActiveCell.FormulaR1C1 = "=[storingen00" & t & ".xls]" & bladnaam & "!R8C3"
Range("E" & t + 2).Select
ActiveCell.FormulaR1C1 = "=[storingen00" & t & ".xls]" & bladnaam & "!R11C3"
Range("F" & t + 2).Select
ActiveCell.FormulaR1C1 = "=[storingen00" & t & ".xls]" & bladnaam & "!R28C3"
Windows("storingen00" & t & ".xls").Activate
ActiveWindow.Close
Next t
End Sub
 
Oeps, en nu nog de bijlage er bij.

N.b. de oplossing van LucB gaat uit van 250 tabbladen.
Ik ga er vanuit dat je 250 losse bestanden hebt.

Vraag is echter wel hoe e.a. met de naamgeving van deze bestanden heeft geregeld.
Kan je daarover nog wat meer info geven?
 

Bijlagen

Laatst bewerkt:
Withaar,

Gefeliciteerd.
Heel mooie code.
Mijn dank hiervoor.

Nog een detail:
De filterknopjes zouden naar Rij 1 kunnen.
(Code 1 omhoog)

Om beeldflikkeringen te voorkomen,
Application.ScreenUpdating = False en
Application.ScreenUpdating = True toepassen.

Nogmaals dank.
 
Je hebt helemaal gelijk LucB, was ook meer gedacht als een proef of concept.
Shimoni moet nog laten weten hoe de files genoemd zijn om te zien of ze op deze manier in te lezen zouden zijn, met een omnoem actie zou je hier echter ook nog wat aan kunnen doen. (bv met Irifan).
N.b. voorbeeld werkt goed tot je bij Storingen 010 komt, ik heb niets gedaan met de voorloop nullen, nu zou ik hier vanaf zien en hoop bijna dat de 250 bestanden gewoon doorgenummerd zijn, dat zou het inlezen makelijker maken, dus file1, file2 t/m file250.

De filterbuttons zat in het bestand van Shimoni al op deze plek, daar heb ik verder niets mee gedaan.

Het beeldflikkeren, tja, als je echter 250 bestanden inlees duurd dit vrij lang, nu zie je tenminste dat er wat gebeurd, het is maar wat je mooi vindt.
 
Laatst bewerkt:
Bedank voor je macro, dit helpt me al een heel eind op weg.

De bestandjes staan inderdaad allemaal als losse files opgeslagen. Ze hebben nu de naam van de plaats, met een nummer erachter als die plaatsnaam meerdere malen voorkomt.

Hoe kan ik deze allemaal omnoemen?
 
Na lang opzoek te zijn geweest naar een (gratis) programma dat diverse files in één keer voor me kon hernoemen bedacht ik me dat IrfanView hier ook prima voor te gebruiken is.
Eigenlijk gedacht voor het bewerken van afbeelding werkt het hernoemen ook prima voor alle andere files.

Voor dat je begint, maak een copy van al je bestanden en zet deze in één folder.

stap12fx.jpg


Stap1. Open IrfanView en ga naar bestand en kies Groepsconversie/-hernoeming

stap29tl.jpg


Stap2. Kies bij Bestandstypen voor 'Alle bestanden (*.*) anders krijg je, je .xls bestanden niet te zien.
Ga naar de folder waar je de copieën neer gezet hebt en seleteer ze, met Toevoegen worden ze overgezet naar het linker vernster.
Kies nu de Bestemmings map. Om de macro uit de bijlage in dít bericht goed te laten werken moeten ze in de map C:\ komen te staan.
Klik Groepshernoeming aan en klik dan op de button Hernoemopties...

stap32at.jpg


Stap3. Vul bij Naampatroon Stor# in.
Klik op OK.

Klik op midden boven op de Start button.

Irfan henoemd nu je bestanden en aan het einde krijg je een log file te zien.

Controleer nu hoeveel bestanden je precies hebt dit aantal heb je zo nodig bij de marco.

Open de bijlage van dít bericht.
Druk op Alt+F11
In de code staat deze regel

For t = 1 To x 'verwijder de x en zet hier het juiste aantal in te lezen bestanden neer.

Verwijder dus de x en zet het juiste aantal (bv 250) op de plek van de x.
De regel ziet er dan dus ongeveer zo uit.
For t = 1 To 250 'verwijder de x en zet hier het juiste aantal in te lezen bestanden neer.

Klik op het groene X-je links boven. om terug te gaan naar Excel en druk op de Start button.
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan