Helpmij.nl
Helpmij.nl
Helpmij.nl

Quote

Pagina 1 van 2 1 2 LaatsteLaatste
Weergeven resultaten 1 tot 20 van 22

Onderwerp: automatisch sorteren meerdere kolommen

  1. #1
    Senior Member
    Geregistreerd
    21 november 2007
    Vraag is niet opgelost

    automatisch sorteren meerdere kolommen

    Hallo beste mensen
    ik gebruik deze code om automatisch te sorteren na enter

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Column = 1 Then
    
            Range("A1:A1000").Sort Key1:=Range("A1"), _
                Order1:=xlAscending, Header:=xlYes
        End If
    End Sub
    deze is alleen voor kolom A, is dit ook uit te bereiden voor meerdere kolommen ( bv A t/m K )?
    nu ben ik drukker met scrollen dan dat ik een nieuw getal invoer.
    sortering van hoog naar laag
    en de lees richting
    van boven naar beneden
    van links naar rechts
    het gaat alleen om om heel veel getallen en geen tekst
    bvd ronnie

  2. #2
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Macrootje opnemen? Zonder werkblad een beetje lastig, dus als aanzetje:
    Code:
    Dim sht As Worksheet
        Set sht = ActiveWorkbook.Worksheets("Blad1")
        With sht.Sort
            With .SortFields
                .Add2 Key:=Range("A2:A1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
                .Add2 Key:=Range("B2:B1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
                .Add2 Key:=Range("C2:C1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
                .Add2 Key:=Range("D2:D1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            End With
            .SetRange Range("A1:E1000")
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  3. #3
    Senior Member
    Geregistreerd
    21 november 2007
    Hallo octafish
    bedankt voor je reactie
    heb een bestandje toe gevoegd nu met jou code
    maar hij sorteert nog niet
    kan jij kijken wat ik fout heb
    bvd ronnie
    gaat hier fout met opslaan zal het vanmiddag thuis even doen
    Bijgevoegde bestanden Bijgevoegde bestanden
    Laatst aangepast door ronnie123 : 4 mei 2021 om 08:43

  4. #4
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Ik kijk er wel even naar.
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  5. #5
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Wat wil je precies bereiken? De tweede kolom bevat zegge en schrijve twee unieke getallen, de eerste kolom alleen maar unieke getallen. Als ik de macro toepas op jouw bestandje, dan doet-ie het prima. Twee varianten getest, die het dus alletwee doen.
    Code:
    Sub Macro1()
    Dim sht As Worksheet
        
        Set sht = ActiveWorkbook.Worksheets("Blad1")
        sht.Sort.SortFields.Clear
        With sht.Sort
            .SortFields.Clear
            .SortFields.Add2 Key:=Range("A2:A54"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .SortFields.Add2 Key:=Range("B2:B54"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .SetRange Range("A2:B54")
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
        With sht.Sort
            .SortFields.Clear
            .SortFields.Add2 Key:=Range("A2:A54"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
            .SortFields.Add2 Key:=Range("B2:B54"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .SetRange Range("A2:B54")
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    
    End Sub
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  6. #6
    Senior Member
    Geregistreerd
    21 november 2007
    gaat bij mij fout met opslaan van macro ( ga vanmiddag thuis even uitproberen )
    in kolom B staan maar 2 doc.nr. worden er veel meer.
    had dus nu 1 lange rij kolom A, wil daar meerdere korte rijen van maken zodat het wat overzichtelijker in beeld komt en uit geprint kan worden
    grt ronnie

  7. #7
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Quote Origineel gepost door ronnie123 Bekijk Bericht
    had dus nu 1 lange rij kolom A, wil daar meerdere korte rijen van maken zodat het wat overzichtelijker in beeld komt en uit geprint kan worden
    Dan is een draaitabel in Tabelvorm toch veel handiger? Zet alle kolommen in het Rijenveld en kies bij <Rapportindeling> voor <Tabelweergave>. Eventueel kun je de kolommen nog herhalen of niet.
    Bijgevoegde bestanden Bijgevoegde bestanden
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  8. #8
    Senior Member
    Geregistreerd
    21 november 2007
    octafish
    kom er nog niet uit
    als ik in E12 bv 145712 invul en dan op enter druk wil ik dat alles gesorteerd wordt
    en 145712 dus in A2 komt
    grt ronnie
    Bijgevoegde bestanden Bijgevoegde bestanden

  9. #9
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Wat wil je met deze onzinnige manier van gegevens invoeren? Is het aantal rijen beperkt? Is het aantal kolommen onbeperkt?
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  10. #10
    Senior Member
    Geregistreerd
    21 november 2007
    het zijn document nummers waar straks linken aan verbonden wordt
    kolommen en rijen zijn onbeperkt

  11. #11
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Dat geeft in ieder geval een boel duidelijkheid.
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  12. #12
    Giga Honourable Senior Member
    Geregistreerd
    18 juli 2008
    Zoiets waarschijnlijk.

    Trouwens niet erg slim om in A2 te beginnen.
    Code:
    Sub hsv()
    Dim i As Long
    With Cells(2, 1).CurrentRegion
       For i = 2 To .Rows.Count + 1
         Rows(i).Sort Cells(i, 1), 1, , , , , , xlNo, , , xlLeftToRight
       Next i
     .Sort Cells(2, 1), 1, , , , , , xlNo, , , xlSortColumns
    End With
    End Sub
    ____________
    Met vriendelijke groet,
    Harry

    Lag nooit om de keuzes van dien vraauw, bist ter zulf aine van....
    (Grunnegs-Gronings)

  13. #13
    Giga Senior cow18's avatar
    Geregistreerd
    24 mei 2008
    Locatie
    Alveringem, België
    zoiets voor een nader te bepalen aantal kolommen
    Bijgevoegde bestanden Bijgevoegde bestanden

  14. #14
    Senior Member
    Geregistreerd
    21 november 2007
    bedankt voor de reacties ga hier mee aan de gang
    zet hem nog niet op opgelost
    groetjes ronnie

  15. #15
    Giga Senior cow18's avatar
    Geregistreerd
    24 mei 2008
    Locatie
    Alveringem, België
    voor de grap een combinatie van HSV en mezelf.
    Het is me voorlopig nog eventjes niet gelukt in een tabel
    er wordt eerst binnen de rij aflopend gesorteerd en daarna wordt op de kolommen gesorteerd van links naar rechts

    1e macro vult het bereik met willekeurige waarden, de 2e macro sorteert, er is geen change-event meer
    Bijgevoegde bestanden Bijgevoegde bestanden
    Laatst aangepast door cow18 : 5 mei 2021 om 07:58

  16. #16
    Mega Senior JVeer's avatar
    Geregistreerd
    27 februari 2019
    @Cow, ik was gister ook bezig met horizontaal sorteren binnen een tabel. Het lijkt er op dat het niet wordt toegelaten op een of andere manier...
    Als alternatief heb ik de data ingelezen in een Collections.ArrayList, gesorteerd en teruggeschreven.
    Gr,
    JV

  17. #17
    Giga Senior cow18's avatar
    Geregistreerd
    24 mei 2008
    Locatie
    Alveringem, België
    het is nochtans wel mogelijk, ik had het ergens tegen gekomen, maar vind het niet meer terug.
    Bon, voorlopig niet van belang, TS gebruikte geen listobject.

    Een collections.arraylist, dan heb je maar 1 sleutel, dat wordt een moeilijke workaround ?!?

  18. #18
    Mega Senior JVeer's avatar
    Geregistreerd
    27 februari 2019
    Ik heb ze op regelniveau ingelezen en weer teruggeschreven

  19. #19
    Giga Senior cow18's avatar
    Geregistreerd
    24 mei 2008
    Locatie
    Alveringem, België
    ach zo ! Dan kan het.

  20. #20
    Mega Senior JVeer's avatar
    Geregistreerd
    27 februari 2019
    ik had het ergens tegen gekomen, maar vind het niet meer terug.
    @Cow, misschien dat deze manier overeenkomt met hetgeen dat je ooit tegenkwam. Het tabelbereik horizontaal gesorteerd in een array:
    Bijgevoegde bestanden Bijgevoegde bestanden
    Gr,
    JV

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl

Regels
Help

Helpmij.nl en business

Partners
Sponsoren