Ga naar inhoud

vba code nodig voor Excel voor het wegschrijven van data/tabbladen


Excelliefhebber

Aanbevolen berichten

Daar is wel een macro voor te schrijven.

Je kunt best de Excelbestanden waarvan je de bladen wil kopiëren, allemaal in 1 map plaatsen. En natuurlijk is het ook aangewezen dat alle bladen van alle bestanden een verschillende naam hebben.

- Met welk besturingssyteem werk je (bv. Windows xp, Windows 7, Windows 8, Windows 8.1, Mac) ?

- Met welke versie van Excel werk je (Excel 2003 of eerder, Excel 2007, 2010, 2013) ?

- Wat is de directory en de naam van de map waarin de Excelbestanden staan (bv. D:\MijnExcelfiles\ ) ?

aangepast door alpha
Link naar reactie
Delen op andere sites

Beste Alpha,

Super!

Het gaat om bestanden die we ingevuld teruggestuurd krijgen van allerlei managers. Soms zit er 1 tabblad in (met data over 1 klant), maar soms ook 20 bladen met dus data over 20 klanten.

Ik zoek een oplossing om -zodra ik de file open- met 1 druk op de knop per tabblad of liefst alle tabbladen tegelijk de data over te zetten naar het doelbestand, waar dus reeds alle klanten in staan. De nieuwe data moet dus de oude overschrijven. Ik wil liever niet verplicht worden om de bestanden eerst in 1 map te plaatsen, maar als het niet anders kan is het niet anders.

Ik werk met Windows 7; Excel 2010

De directory en bestandsnaam is: C:\Users\Rene\Documents\Klantoverzicht.xlsx

 

Alvast bedankt!

Link naar reactie
Delen op andere sites

 

Ik zoek een oplossing om -zodra ik de file open- met 1 druk op de knop per tabblad of liefst alle tabbladen tegelijk de data over te zetten naar het doelbestand, waar dus reeds alle klanten in staan. De nieuwe data moet dus de oude overschrijven. Ik wil liever niet verplicht worden om de bestanden eerst in 1 map te plaatsen., maar als het niet anders kan is het niet anders.

 

Je zult sowieso, als je bestanden ontvangt, die in een map moeten opslaan. 

Wat maakt het dan uit of dat map x of map y is ?

Je wil, als je een bestand ontvangt, daarin op een knop klikken om de bladen (indien nodig) te kopiëren naar je verzamelbestand. Dat zou betekenen dat je in elk bestand die macro en een knop zou moeten plaatsen om de actie uit te voeren (tenzij de macro wordt opgenomen in de persoonlijke werkmap, maar dat is een ander verhaal). Dat is niet efficiënt en onhandig.

 

Ik stel het volgende voor:

Je maakt een map (bv. een submap van Documents) waarin je uitsluitend de Excelbestanden plaatst waarvan bladen naar je verzamelbestand gekopieerd moeten worden. 

De macro (waaraan ik nog aan het werken ben, zoiets maak je niet in enkele uren) plaats je in je verzamelbestand. Dat bestand moet wel een bestand zijn waarin het uitvoeren van macro's mogelijk is.. Als "Klantoverzicht.xlsx" nu je verzamelbestand is, dan moet je in Excel instellen dat macro's ombeperkt mogen worden uitgevoerd en dat bestand opslaan als Excel-werkmap met macro's (*.xlsm), dat wordt dan dus: "Klantoverzicht.xlsm". Niet zelf die extensie wijzigen, maar Excel dat laten doen bij het opslaan. De Excelbestanden die je toegestuurd krijgt mogen .xlsx-bestanden blijven.

 

De procedure zou dan als volgt verlopen:

Het ontvangen bestand (of de ontvangen bestanden, het mogen er meerdere zijn), plaats je in de map waarover ik hierboven sprak. Verder moet je daar niets mee doen. Daarna open je je verzamelbestand "Klantoverzicht.xlsm" en je voert de macro uit (met een sneltoets of met een knop). De macro gaat dan van alle bladen in alle Excelbestanden (in die map) na of in "Klantenoverzicht.xlsm" bladnamen met diezelfde naam ook voorkomen. Is dat het geval, dan wordt die bladen in "Klantoverzicht.xlsm" verwijderd en komen de nieuwe met dezelfde naam ervoor in de plaats. Bladen die in "Klantenoverzicht.xlsm" nog niet voorkomen maar wel in 1 van de Excelbestanden in die map, worden in "Klantenoverzicht.xlsm" ook toegevoegd.

Wat zou je daarvan vinden ?

Als je dit een geschikte oplossing vindt, laat dan weten wat de naam wordt van de map waarin je de Excelbestanden wil plaatsen.

 

Link naar reactie
Delen op andere sites

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.