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

Rowcopy naar ander blad na selectie in lijst

Status
Niet open voor verdere reacties.

Rhugien

Gebruiker
Lid geworden
10 sep 2008
Berichten
27
Hallo Excel Liefhebbers,

In korte tijd ben ik dankzij dit forum heel veel wijzer geworden van hoe Excel werkt en "denkt".

Jammer genoeg ben ik nu tegen een probleem aangelopen welke mij een slapeloze ( lees: puzzelavond in excel ) heeft bezorgt...

De uitdaging:

In rij 1 staan diverse kolommen ingevult met data. In rij 2 zij twee pull-down menu 's gemaakt waar diverse info kan worden geselecteerd. "Wie?" en "Status" ( info hiervan staat in verborgen kolom A )

1. Nu is het de bedoeling dat wanneer ik een status selecteer, de gehele regel gekopieerd wordt naar een toegewezen blad( Blad1). Afhankelijk van "wie?" er is geselecteerd.
2. Wanneer daarna de status wordt veranderd zal opnieuw de regel gekopieert moeten worden en onder de voorgaande regel terecht moeten komen.

Ik heb er een bijlage bijgedaan om een duidelijk beeld te geven, met tekst en uitleg.

Voor diegene die dit voor mij op kan lossen, eewige roem :D

Hoor graag jullie adviesen hierin,

Groeten Rens
 

Bijlagen

In bijgevoegd bestand wordt de gegevens in Blad1 geplaatst.
Ik neem aan dat het de bedoeling is dat per persoon een aparte werkblad wordt gemaakt.

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Hallo Roncancio,

Inderdaad dat is de bedoeling. Zie dat ik nog een hoop te leren heb, Ik werkelijk waar gezocht, geprobeert zonder succes.. Dat jij dit nu in 5 min in elkaar bouwt, :thumb:

Ik ben erg geinterresseerd in vba, weet je ( bv. een site ) waar duidelijke uitleg hiervan te vinden is?
Besef nml nu dat daar een hele hoop meer mee kan als met de standaard formules.

Btw. Het werkt fantastisch!
Bedankt,
 
Daar ben ik weer,

Ik heb voor het gemak even de VBA code bijgevoegd.

Wat ik heb uitgevonden is dat wat jij hebt aangemaakt het volgende;

========

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lRij As Long
lRij = Worksheets("Blad1").Range("P65536").End(xlUp).Row
If Worksheets("Blad1").Range("P" & lRij).Value <> "" Then lRij = lRij + 1
If Chr(64 + Target.Column) = "P" Then
For ikol = 2 To 17
Worksheets("Blad1").Cells(lRij, ikol).Value = Worksheets("Actielijst Holding").Cells(Target.Row, ikol).Value
Next
End If
End Sub

========

Kun je me kort uitleggen hoe het in zijn werk gaat?
Want hetgeen wat ik beschreven heb, dat er gekeken wordt naar de naam en daar van uit naar een bepaald blad wordt gekopieerd kan ik er niet uit opmaken.
Kijk ik daar over heen of moet ik dan nog iets toevoegen?

Alvast bedankt,

Rens
 
De code wordt geactiveerd en controleerd of
- de cel in de P-kolom gevuld is.
- de wijziging in de P-kolom is.
Vervolgens wordt de eerstvolgende lege regel in het blad en daar wordt de gegevens geplaatst. In de versie die ik eerst stuurde, worden de gegevens altijd naar Blad1 gekopieerd.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lRij As Long
     On Error Resume Next
    lRij = Worksheets(Range("O" & Target.Row).Value).Range("P65536").End(xlUp).Row
    If Chr(64 + Target.Column) = "P" Then
        If Worksheets(Range("O" & Target.Row).Value).Range("P" & lRij).Value <> "" Then lRij = lRij + 1
        If Chr(64 + Target.Column) = "P" Then
            For ikol = 2 To 17
                Worksheets(Range("O" & Target.Row).Value).Cells(lRij, ikol).Value = Worksheets("Actielijst Holding").Cells(Target.Row, ikol).Value
            Next
        End If
    End If
End Sub

Ik heb de code aangepast. Bovenstaande code zet de gegevens in de werkblad met de naam uit de O-kolom. Als het werkblad met de naam bestaat tenminste!

Met vriendelijke groet,


Roncancio
 
De code wordt geactiveerd en controleerd of
- de cel in de P-kolom gevuld is.
- de wijziging in de P-kolom is.
Vervolgens wordt de eerstvolgende lege regel in het blad en daar wordt de gegevens geplaatst. In de versie die ik eerst stuurde, worden de gegevens altijd naar Blad1 gekopieerd.

......

Ik heb de code aangepast. Bovenstaande code zet de gegevens in de werkblad met de naam uit de O-kolom. Als het werkblad met de naam bestaat tenminste!

Met vriendelijke groet,


Roncancio


Hi Roncancio,

ik heb nog een bestandje toegevoegd wat alle originele instellingen en opmaak heeft hoe de sheet uiteindelijk is.

Nu heb ik de VBA geprobeert te kopieren naar het bijgevoegde bestand, maar hij werkt niet.
Komt dit omdat ik fout heb gedaan, of komt dit doordat de layout anders is als jou voorbeeld excel?

Groeten
 

Bijlagen

Hi Roncancio,

ik heb nog een bestandje toegevoegd wat alle originele instellingen en opmaak heeft hoe de sheet uiteindelijk is.

Nu heb ik de VBA geprobeert te kopieren naar het bijgevoegde bestand, maar hij werkt niet.
Komt dit omdat ik fout heb gedaan, of komt dit doordat de layout anders is als jou voorbeeld excel?

Groeten

Bij mij werkt het gewoon.;):)
Bij het wijzigen van de status worden de gegevens van Ruud in het werkblad Ruud geplaatst.

Met vriendelijke groet,


Roncancio
 
Bij mij werkt het gewoon.;):)
Bij het wijzigen van de status worden de gegevens van Ruud in het werkblad Ruud geplaatst.

Met vriendelijke groet,


Roncancio

Ok bij mij doet hij het nu ook..:o

Even voor het totaal plaatje;

Code:
If Worksheets(Range("O" & Target.Row).Value).Range("P" & lRij).Value <> "" Then lRij = lRij + 1

Geeft weer in welk blad en waar de gegevens terecht moeten komen.
Kan ik hier dan ook weergeven op welke regel hij moet beginnen bij het blad waar de tekst wordt geplaatst?
Bijvoorbeeld vanaf regel 10 en daarna elke keer +1 als de input groter is als "".
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lRij As Long
     On Error Resume Next
    lRij = Worksheets(Range("O" & Target.Row).Value).Range("P65536").End(xlUp).Row
[B][COLOR="Red"]    If lRij <10 Then lRij=10[/COLOR][/B]
    If Chr(64 + Target.Column) = "P" Then
        If Worksheets(Range("O" & Target.Row).Value).Range("P" & lRij).Value <> "" Then lRij = lRij + 1
        If Chr(64 + Target.Column) = "P" Then
            For ikol = 2 To 17
                Worksheets(Range("O" & Target.Row).Value).Cells(lRij, ikol).Value = Worksheets("Actielijst Holding").Cells(Target.Row, ikol).Value
            Next
        End If
    End If
End Sub
Door de toegevoegde rode regel wordt gecontroleerd of de schrijfrij kleiner is dan 10. Indien dat het geval is, dan wordt de schrijfrij 10.

Met vriendelijke groet,


Roncancio
 
Fantastisch,

Ik wordt misschien wat over enthousiast...
Als ik nu bij een bepaalde gekozen status wil dat de regel waar hij instaat, verborgen wordt.
Voor het overzicht , zouden de afgehandelde punten namleijk liefst niet meer inzichtbaar zijn op het hoofdblad, actiepunten.
Kan dat uberhaupt, of vraag ik dan iets heel raars? :confused:
 
Fantastisch,

Ik wordt misschien wat over enthousiast...
Als ik nu bij een bepaalde gekozen status wil dat de regel waar hij instaat, verborgen wordt.
Voor het overzicht , zouden de afgehandelde punten namleijk liefst niet meer inzichtbaar zijn op het hoofdblad, actiepunten.
Kan dat uberhaupt, of vraag ik dan iets heel raars? :confused:

De rode regels zijn toegevoegd.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lRij As Long
     On Error Resume Next
    lRij = Worksheets(Range("O" & Target.Row).Value).Range("P65536").End(xlUp).Row
    If lRij < 10 Then lRij = 10
    If Chr(64 + Target.Column) = "P" Then
        If Worksheets(Range("O" & Target.Row).Value).Range("P" & lRij).Value <> "" Then lRij = lRij + 1
        If Chr(64 + Target.Column) = "P" Then
            For ikol = 2 To 17
                Worksheets(Range("O" & Target.Row).Value).Cells(lRij, ikol).Value = Worksheets("Actielijst Holding").Cells(Target.Row, ikol).Value
            Next
        End If
    End If
[B][COLOR="Red"]    If Target.Value = "Afgehandeld" Then
        Target.EntireRow.Hidden = True
    End If[/COLOR][/B]
End Sub

Met vriendelijke groet,


Roncancio
 
bedankt_smak.gif
 
Hallo Roncancio

Het werkt helemaal super. Kan helaas niet naar je emailen anders had ik je graag het resultaat laten zien.

Ik heb alleen nog 1 probleem ( lees uitdaging :) ).
Na het toepassen van de vba code kwam ik erachter dat wanneer ik een ( deel ) van een regel verwijder of de inhoud er van "delete", de gehele regel wordt verborgen.
Ook wanneer ik een regel invoeg wordt deze verborgen.

Als je een gaatje vind kun je hier nog eens naar kijken?

Bedankt,
 
Hallo Roncancio

Het werkt helemaal super. Kan helaas niet naar je emailen anders had ik je graag het resultaat laten zien.

Ik heb alleen nog 1 probleem ( lees uitdaging :) ).
Na het toepassen van de vba code kwam ik erachter dat wanneer ik een ( deel ) van een regel verwijder of de inhoud er van "delete", de gehele regel wordt verborgen.
Ook wanneer ik een regel invoeg wordt deze verborgen.

Als je een gaatje vind kun je hier nog eens naar kijken?

Bedankt,

Je kunt me gewoon mailen. Mijn emailadres vind je door met je rechtermuisknop op mijn naam te klikken en de optie om een bericht naar mij te sturen.
Hoe wil je het hebben?
Wat wil je precies aangepast hebben?

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan