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

Bepaalde selectie zorgt voor kopie naar ander tabblad

Status
Niet open voor verdere reacties.

Bram26

Gebruiker
Lid geworden
29 jun 2015
Berichten
9
In tabblad A kan men in een bepaalde kolom de naam kiezen van een persoon, waarbij deze persoon
vervolgens ook een eigen tabblad heeft in het excel-overzicht.
Wanneer een bepaalde persoon geselecteerd wordt in het overzicht moeten de gegevens die in de rest
van de regel staan gekopieerd worden naar de eerste lege regel in zijn persoonlijke overzicht.
Moet dit door middel van een macro? Zo ja, hoe krijg ik dit het beste ingeregeld?
 
Bram26,
Welkom op het forum.
Het zou de helpers enorm helpen wanneer je een voorbeeldbestand toevoegt zonder gevoelige informatie.
 
Rest mij de vraag of je in Algemeen constant blijft invullen of dat de gegevens gewist moeten worden na invoer.
Wanneer wil je dat de gegevens gewist worden en de data overgeschreven. Moet dit gebeuren wanneer je de laatste cel verlaat of mbv een knop?
 
Optie (voorbeeldbestand)? Alleen niet aan te raden bij grote bestanden omdat de formule het proces dan zwaar vertraagt.

of een knop maken met deze module eronder
Code:
Sub Spaarie()
    For s = 2 To Sheets.Count
        With Sheets("Algemeen").Cells.CurrentRegion
            .AutoFilter 1, Sheets(s).Name
            .Copy Sheets(s).Cells(1)
        End With
    Next
End Sub
 

Bijlagen

Laatst bewerkt:
Rest mij de vraag of je in Algemeen constant blijft invullen of dat de gegevens gewist moeten worden na invoer.
Wanneer wil je dat de gegevens gewist worden en de data overgeschreven. Moet dit gebeuren wanneer je de laatste cel verlaat of mbv een knop?

De gegevens dienen gewoon te blijven staan in het tabblad algemeen
 
Optie (voorbeeldbestand)? Alleen niet aan te raden bij grote bestanden omdat de formule het proces dan zwaar vertraagt.

of een knop maken met deze module eronder
Code:
Sub Spaarie()
    For s = 2 To Sheets.Count
        With Sheets("Algemeen").Cells.CurrentRegion
            .AutoFilter 1, Sheets(s).Name
            .Copy Sheets(s).Cells(1)
        End With
    Next
End Sub

De knop heb ik nu wel werkend gekregen in het test-bestand.
Nu even kijken of ik hem ook werkend krijg in het daadwerkelijke bestand
 
Laatst bewerkt:
Optie (voorbeeldbestand)? Alleen niet aan te raden bij grote bestanden omdat de formule het proces dan zwaar vertraagt.

of een knop maken met deze module eronder
Code:
Sub Spaarie()
    For s = 2 To Sheets.Count
        With Sheets("Algemeen").Cells.CurrentRegion
            .AutoFilter 1, Sheets(s).Name
            .Copy Sheets(s).Cells(1)
        End With
    Next
End Sub

Ik heb nu bovenstaande code werkend gekregen, zodat de gevulde gegevens vanuit het tabblad algemeen
richting de persoonlijke tabbladen van de diverse mensen gaan.
Wanneer ik nu meerdere algemene tabbladen heb vanuit waar de informatie richting de persoonlijke tabbladen
moet gaan, hoe verwerk ik dat dan in bovenstaande code?
Hij moet dus de informatie halen uit bijvoorbeeld algemeen 1 & algemeen 2 & algemeen 3.
 
Zal voor de volgende keer handiger zijn als je dit direct aangeeft, want dit verandert groot gedeelte van de code.
Nu is de vorige code niet het grootste meesterwerk, maar heb hem toch voor Jan z'n malle moer gemaakt...

Code:
Sub Spaarie()
    For s = 4 To Sheets.Count
        With Sheets(s)
            If .Cells(2, 1).Value <> "" Then .Columns(1).SpecialCells(2).Offset(1).SpecialCells(2).Resize(, 5).Delete
            For a = 1 To 3
                c = .Range("A" & Rows.Count).End(xlUp).Offset(1).Row
                With Sheets("Algemeen " & a).Cells.CurrentRegion
                    .AutoFilter 1, Sheets(s).Name
                    .Offset(1).Resize(.Rows.Count - 1).Copy Sheets(s).Cells(c, 1)
                End With
            Next
        End With
    Next
End Sub
 
Zal voor de volgende keer handiger zijn als je dit direct aangeeft, want dit verandert groot gedeelte van de code.
Nu is de vorige code niet het grootste meesterwerk, maar heb hem toch voor Jan z'n malle moer gemaakt...

Code:
Sub Spaarie()
    For s = 4 To Sheets.Count
        With Sheets(s)
            If .Cells(2, 1).Value <> "" Then .Columns(1).SpecialCells(2).Offset(1).SpecialCells(2).Resize(, 5).Delete
            For a = 1 To 3
                c = .Range("A" & Rows.Count).End(xlUp).Offset(1).Row
                With Sheets("Algemeen " & a).Cells.CurrentRegion
                    .AutoFilter 1, Sheets(s).Name
                    .Offset(1).Resize(.Rows.Count - 1).Copy Sheets(s).Cells(c, 1)
                End With
            Next
        End With
    Next
End Sub

Excuses in de eerste plaats voor het niet geven van de juiste gegevens, maar dit bedacht ik me later pas.
Nu heb ik het overzicht nogmaals aangepast, waardoor ik op dit moment niet meer uit de code kom.
Ik heb de volgende indelingen qua tabbladen:

- 1 overzicht-tabblad waarop de totale gegevens van de verschillende mensen weer verzameld worden
- 12 algemene tabbladen waarop per maand een aantal gegevens gevuld worden voor het viertal personen, in de eerste kolom staat steeds de persoon genoemd.
- 4 tabbladen met de namen van de 4 personen, die gevuld zouden moeten worden door middel van de 12 algemene tabbladen zijn.
Wel bevatten deze 4 tabbladen meer kolommen dan de algemene tabbladden, is dit een probleem?
- 4 tabbladen waarop deze persoon een forecast moeten invullen en waarmee vervolgens het overzicht-tabblad deels gevuld wordt

Hopelijk kunnen jullie nog wijs uit bovenstaande informatie :P
 
2e code kan dus ook de prullenbak in.... gaat lekker. Aangezien je nieuw bent is het je vergeven, een frequente bezoeker had wel een hele goede reden moeten hebben hiervoor...
Maar goed, graag refereer ik naar post #2. Want ik weet echt niet hoe je deze nieuwe constructie met 21 tabbladen hebt gestructureerd. Plaats er een beetje data in zodat men weet waar welke data naar toe moet.

Gaarne ook geen *.zip, kunnen gewoon xls(x) bestanden geupload worden.
 
Nogmaals excuses Spaarie! Ik ben niet zo bekend met de codes, vandaar dat ik dacht dat het kwestie
was van een kleine tweak aan de code.
Ik heb al persoonlijke gegevens even vervangen door letters en andere namen.
Bekijk bijlage Target_test.xlsx
 
Minder erg dan gedacht...
Code:
Sub Spaarie()
    Application.ScreenUpdating = False
    For s = 14 To 17 'naam tabbladen blad 14 t/m blad 17
        With Sheets(s)
            If .Cells(2, 1).Value <> "" Then .Range("A2:V200").ClearContents
            For a = 1 To 12 'algemene tabbladen
                c = .Columns(1).Find("").Row
                With Sheets("Algemeen " & a).Cells.CurrentRegion
                    .AutoFilter 1, Sheets(s).Name
                    .Offset(1).Resize(.Rows.Count - 1).Copy Sheets(s).Cells(c, 1)
                    .AutoFilter
                End With
            Next
        End With
    Next
    Application.ScreenUpdating = True
End Sub
Overigens zou ik op alle tabbladen me info weghalen. Nu gaat het om namen, maar volgende keer is het vertrouwelijke info...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan