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

rijen naar ander blad op basis van 1 kolom sorteren

Status
Niet open voor verdere reacties.

HenkNH

Nieuwe gebruiker
Lid geworden
25 mrt 2015
Berichten
4
Hallo,

Ik heb in een Exel 2013 bestand plus minus 5 tabbladen, nu wil aan de hand van 1 kolom op blad 1 rijen sorteren naar blad 2,3,4. is hier een (simpele) formule voor?
Weet dat een filter ook helpt, maar er gaan mensen mee werken die nog meer digibeet zijn als ik. :D
 
Begin even met een voorbeeld bestandje te plaatsen. Zodat we zien watje wilt sorteren en op welk blad het moet komen.
 
Sorry dat ik zo laat weer reageer, maar de lay out is af, voor zo ver dan.
Het is de bedoeling dat gegevens (rijen) van blad1, gesorteerd worden in de daaropvolgende en daarvoor bestemde werkbladen.
Dus B1a,B1b en B1c worden gesorteerd op werkblad B1, ect.
Hoop dat het duidelijk is. :confused:
 

Bijlagen

Laatst bewerkt:
Daar heb ik ook al aan gedacht, maar er komen mensen mee die nog meer digibeet zijn dan mijzelf.
En uit praktisch oogpunt werkt de lay-out zoals ik deze hier heb neergezet voor "ons" het beste.
 
Met een beetje code is het wel op te lossen. Om het een beetje eenvoudig te houden heb ik de tabjes aangepast. Zodat alles hetzelfde aantal rijen en kolommen heeft. In jouw keuzelijst staat een afdeling 'RI" waarvoor geen tabje bestaat. Deze heb ik uitgesloten in de code. Afdeling 'B4a' bestaat waarschijnlijk ook niet. Deze heb ik wel opgenomen in tab 'B4' alleen de rijen verborgen.

Waarom kleur je alle cellen groen? Dit maakt het in mijn optiek niet erg leesbaar.

Als je in het het voorbeeldje op de knop verdelen klikt worden de gegevens op de juiste plek gezet.

Code:
Sub VenA()
For Each sh In ThisWorkbook.Sheets
    If sh.Name <> "Blad1" Then sh.Range("A5:H60, A65:H120, A125:H180").ClearContents
Next sh
With Sheets("Blad1")
    For Each cl In .Range("G5:G849").SpecialCells(2)
        If cl <> "RI" Then
            Select Case Right(cl, 1)
                Case "a": Sheets(Left(cl, 2)).Range("A60").End(xlUp).Offset(1).Resize(1, 8) = .Cells(cl.Row, 1).Resize(1, 8).Value
                Case "b": Sheets(Left(cl, 2)).Range("A120").End(xlUp).Offset(1).Resize(1, 8) = .Cells(cl.Row, 1).Resize(1, 8).Value
                Case "c": Sheets(Left(cl, 2)).Range("A180").End(xlUp).Offset(1).Resize(1, 8) = .Cells(cl.Row, 1).Resize(1, 8).Value
            End Select
        End If
    Next cl
End With
MsgBox "De gegevens staan in de juiste tabjes"
End Sub
 

Bijlagen

Een ander methode dan de "case" daar het zo mooi past.
Code:
If cl <> "RI" Then
        myvar = (asc(right(cl, 1)) - 96) * 60
                Sheets(Left(cl, 2)).Range("A" & myvar).End(xlUp).Offset(1).Resize(1, 8) = .Cells(cl.Row, 1).Resize(1, 8).Value
            End If
 
Da's rekenkundig geheel waar. Eigenlijk is het ook beter om een voorbeeldje niet aan te passen en even via Find oid de oplossing zoeken.:)

We wachten maar af wat de TS ervan vindt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan