Inhoud van verschillende .csv bestanden samenvoegen

Status
Niet open voor verdere reacties.

SvenVL

Gebruiker
Lid geworden
10 mrt 2016
Berichten
15
Hallo,

Ik zou graag het volgende willen:
Ik heb iedere maand meerdere .csv bestanden die allemaal op dezelfde manier opgebouwd zijn. (Info-lijnen; [Body Start], Inhoud, [Body End])

Ik zou graag alle inhoud van die .csv bestanden in 1 excel willen plaatsen (onder elkaar). Iedere maand wordt diezelfde excel dus aangevuld met nieuwe lijnen.

Met inhoud bedoel ik: De lijnen tussen de lijn die begint met [Body Start] en de lijn [Body End]. Er zou ook een nieuwe kolom moeten toegevoegd worden, zijnde de kolom Periode die dan ook opgevuld wordt.

alvast bedankt

vr gr
Sven
 
Deel 1: csv's kun je zo achter elkaar een voor een via de data van extern importeren uitvoeren.
De import begint bij de cel die je zelf kiest.
De 1e keer is dat bijv A3 als je de 1e en de 2e lijn ergens anders voor wilt gebruiken.
Klaar en de laatste A is A500 bijvoorbeeld... dan importeer je de volgende set door bij de import te kiezen voor A501 etc....

2e deel extra kolom: kun je zelf aanmaken, zorg wel dat je zover naar rechts gaat dat ie niet door de import overschreven wordt, of je gebruikt kolom A ervoor en je importeert op de B-kolom .
Dat opvullen vd periode hangt af van wat je in die cellen wilt hebben, bijv jan-2016 en bij de volgende import feb-2016?
 
Plaats een aantal van deze .CSV bestanden. Dat praat een stukje makkelijker dan te gokken wat er nu in staat. De inhoud is niet van belang wel de indeling van de bestanden.
 
Laatst bewerkt:
Het zimpulst:
'Voeg alle csv -bestanden in directory G:\OF samen in bestand G:\samen.csv; open daarna bestand G:\samen.csv in Excel.

Code:
Sub M_snb()
   createobject("wscript.shell").run "cmd /c copy G:\OF\*.csv G:\samen.csv"
   workbooks.open "G:\samen.csv"
End Sub
 
Laatst bewerkt:
In bijlage heb ik een Excel toegevoegd met 3 tabbladen:
1) Eerste input csv
2) Tweede input csv
3) Resultaat zoals het zou moeten.

Voor 1 maand heb ik zo een 20-tal .Csv-bestanden waarvan de inhoud (tussen Body Start en Body End) allemaal onder elkaar moet komen in 1 nieuwe Excel. Bovendien zou er ook een periode moeten kunnen manueel toegevoegd worden waarop de bestanden betrekking hebben.

vr gr
Sven
 

Bijlagen

  • Voorbeeld.xlsx
    12,9 KB · Weergaven: 180
Waarom negeer je mijn bericht ?
 
Beste Snb,

Ik had helemaal niet de bedoeling om u bericht te negeren hoor:).

Ik heb uw code gebruikt en 2 .csv bestanden in een map geplaatst; maar helaas wordt er geen nieuwe excel aangemaakt met de inhoud van mijn 2 .csv :(.

Gr
Sven
 
In welke map heb je de bestanden neergezet en hoe heb je de code gebruikt?
 
Ik heb 2 .csv bestanden in de map "Samenvoegen" op mijn bureaublad gezet
Ik heb ook een .csv document aangemaakt met als naam "Samen" (onder Mijn Documennten)

In een andere excel heb ik dan een opdrachtknop gemaakt met volgende code:

Private Sub CommandButton1_Click()
CreateObject("wscript.shell").Run "cmd /c copy C:\Users\Sven Van Londersele\Desktop\Samenvoegen\*.csv C:\Users\Sven Van Londersele\Documents\samen.csv"
Workbooks.Open "C:\Users\Sven Van Londersele\Documents\samen.csv"
End Sub

Wanneer ik de macro dan laat runnen, wordt het .csv bestand wel geopend, maar het blijft leeg.

gr
Sven
 
1. gebruik svp in dit forum code tags rondom VBA code
2. gebruik nooit spaties in namen van directories (volg dus niet het verkeerde voorbeeld van MS - bijv. 'C:\Program Files\' - ).

Code:
Private Sub CommandButton1_Click()
  CreateObject("wscript.shell").Run "cmd /c copy ""C:\Users\Sven Van Londersele\Desktop\Samenvoegen\*.csv"" ""C:\Users\Sven Van Londersele\Documents\samen.csv"""
   Workbooks.Open "C:\Users\Sven Van Londersele\Documents\samen.csv"
End Sub
 
Hoe moet ik die spaties dan wegdoen in mijn code zodat mijn macro werkt en mijn inhoud van mijn verschillende .csv bestanden in 1 excel geplaatst worden.
 
Lees mijn bericht eerst eens goed: ik heb het over directorynamen.
Vervang spaties door 'underscores'.

C:\Users\Sven_Van_Londersele\Desktop\Samenvoegen\
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan