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

werkbladen kopieren

Status
Niet open voor verdere reacties.

Japsur

Gebruiker
Lid geworden
9 apr 2004
Berichten
650
Hallo,

Ik gebruik de volgende code om 3 werkbladen te kopieren naar een nieuw bestand. Maar deze werkt niet echt wanneer ik bezig ben in excel.
Alle 3 de werkbladen moeten in hetzelfde bestand komen.

Weet iemand hoe ik dit moet oplossen. Gaat vooral om de regel met "Map1". Wanneer ik meer docs heb gemaakt begint ie bijv. met Map5. Dan werkt deze formule niet meer, iemand een oplossing??
Alvast bedankt.

Code:

Sheets("Totaal").Select
Cells.Select
Application.CutCopyMode = False
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Windows("Eindstanden").Activate
Sheets("Meisjes").Select
Cells.Select
Application.CutCopyMode = False
Selection.Copy
Windows("Map1").Activate
Sheets("Blad2").Select
ActiveSheet.Paste
Windows("Eindstanden").Activate
Sheets("Jongens").Select
Application.CutCopyMode = False
Cells.Select
Selection.Copy
Windows("Map1").Activate
Sheets("Blad3").Select
Cells.Select
ActiveSheet.Paste
 
Wat je moet doen is bij het maken van het nieuwe bestand is de naam ervan opslaan.

Je code wordt als volgt:
Dim huidigebestand As String
Dim anderebestand As String
huidigebestand = ActiveWorkbook.Name
Workbooks.Add
anderebestand = ActiveWorkbook.Name

'sheet totaal van de ene naar de andere
Workbooks(huidigebestand).Activate
Sheets("Totaal").Select
Cells.Select
Selection.Copy
Workbooks(anderebestand).Activate
ActiveSheet.Paste

'sheet Meisjes van de een naar de andere
Workbooks(huidigebestand).Activate
Sheets("Meisjes").Select
Cells.Select
Selection.Copy
Workbooks(anderebestand).Activate
'we hoeven niet eens de naam van dat kreng te weten
'zo werkt het ook op engelse office versies
Sheets(2).Select
ActiveSheet.Paste

'en hier gaat de laatste
Workbooks(huidigebestand).Activate
Sheets("Jongens").Select
Cells.Select
Selection.Copy
Workbooks(anderebestand).Activate
'we hoeven niet eens de naam van dat kreng te weten
'zo werkt het ook op engelse office versies
Sheets(3).Select
ActiveSheet.Paste


Nu kan het allemaal veel mooier, maar goed dit snap je wel en de andere dingen leer je ook nog wel. (een voorbeeld is het gebruik van application.ScreenUpdating op false te zetten zodat je je scherm niet ziet flitsen en een programmeer voorbeeld is het maken van een functie die het kopieren regelt zodat je alleen nog maar hoeft aan te roepen welke sheet je wil kopieren en dat hij de rest regelt.)
 
Ziet er goed uit, maar m'n punt is ook nog dat m'n huidige bestand voor meerdere jaren gebruikt moet worden en de andere voor 1x op te slaan
Deze worden opgeslagen met een naam en het huidige jaar. Dus telkens andere.
Dus hoe weet hij nu welk bestand hij moet hebben?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan