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

Hulp nodig bij o.a. automatisch aanmaken werkbladen

  • Onderwerp starter Onderwerp starter DuneM
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

DuneM

Nieuwe gebruiker
Lid geworden
8 dec 2011
Berichten
3
Ik heb een probleem met het maken van een excelsheet. Ik weet er te weinig van om het voor elkaar te krijgen.
Graag zou ik als ik de gegevens (naw e.d.) in werkblad 'blad1' kopieer (deze komen vanuit een ander bestand), het dan zo willen dat deze gegevens automatisch volgens een format op een ander werkblad komt. Zodat je per regel een appart werkblad krijgt. Dus regel A2 t/m F2 van 'blad 1' wordt op werkblad 'blad 2' in het format gezet en regel A3 t/m F2 op werkblad 'blad 3' etc.

Kan dit? En zo ja, hoe?
 
Kan dat? ja. Hoe? dat is een beetje moeilijk zonder voorbeeld. Je schrijft over een "format", maar dat kan alles beteken.
 
Ik kan het excelbestand niet uploaden. Vandaar dat ik het niet kan laten zien. Het format is heel simpel, een tabel waar alle naw-gegevens in komen.

Gaat mij meer om - als ik in blad 1 in bijvoorbeeld A2 iets kopieer, dat er dan een werkblad wordt gemaakt met het format/tabel er al in. (die op blad 2 staat)
- dat vervolgens die gegevens van A2 ook in het format komen.
- dat hetzelfde ook gebeurd als je in A3 iets zet, maar dan de gegevens van A3 etc

Ik hoop dat het een beetje duidelijk is.
 
Het is duidelijk, maar daar de code specifiek aangepast moet worden aan de locaties kan ik je alleen een generale oplossing laten zien, maar niet een specifieke.

deze code gaat ervan uit dat de eerste pagina "Source" heet en de pagina met de juiste layout "Formaat"

Code:
Sub test()

For Each cell In Sheets("Source").Range("a2:a" & Sheets("Source").Range("a65000").End(xlUp).Row)
    Sheets("Formaat").Copy After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Range("a2:m2").Value = Range(cell, cell.Offset(0, 12)).Value
Next cell

End Sub

Hiernaa krijg je een lijst tabs die formaat(2) formaat(3) etc genoemd worden. Uiteraard zijn hier ook nog de namen van aan te passen. Deze code doet alleen een rechte lijn copy van het eerste sheet. dit moet item voor item aangepast worden op het uiteindelijke formaat
 
Dank je Wampier. Maar hij werkt bij mij niet. Hij geeft geen ander werkblad als ik iets in A invul.
 
Heet het eerste werkblad "Source" (met hoofdletter?) Bovendien begint mijn code pas op regel 2, daar er meestal een header mee komt op regel 1.

Ik neem aan dat je de macro wel handmatig start? kan eventueel ook automatisch, maar daar heb ik nog geen rekening mee gehouden om dat er teveel variabelen zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan