Ik heb een werkblad met een kolom, waarvan de cellen deels gevuld zijn.
Bij oplopend sorteren worden eerst de “lege” cellen met een nulwaarde getoond volgens onderstaande code:
Ik wil de gevulde cellen van kolom H naar het begin van de range in dezelfde volgorde.
Ik denk, dat dit zou kunnen door:
- de waarde van de eerste cel (H11) te bepalen
- is deze nul dan in kolom naar beneden verder totdat cel met waarde >0 gevonden wordt (H18)
- dan rij H11 met H18 omwisselen
- vervolgens naar de volgende cel (H12), zoek en verwissel (H19)
- als “gevulde” cellen omgewisseld zijn dan stopt het process, aangezien er geen gevulde cellen meer zijn
Op deze manier heb je een oplopende sorteervolgorde met waarden >0 aan het begin van een range.
Of is er een eenvoudiger methode?
Bekijk bijlage test_sorteer_opl_1.xls
Bij oplopend sorteren worden eerst de “lege” cellen met een nulwaarde getoond volgens onderstaande code:
Code:
Sub test_sorteer_kolom_H_descending()
'
Range("A11:H20").Select
Selection.Sort Key1:=Range("H11"), Order1:=xlDescending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A10").Select
End Sub
Ik denk, dat dit zou kunnen door:
- de waarde van de eerste cel (H11) te bepalen
- is deze nul dan in kolom naar beneden verder totdat cel met waarde >0 gevonden wordt (H18)
- dan rij H11 met H18 omwisselen
- vervolgens naar de volgende cel (H12), zoek en verwissel (H19)
- als “gevulde” cellen omgewisseld zijn dan stopt het process, aangezien er geen gevulde cellen meer zijn
Op deze manier heb je een oplopende sorteervolgorde met waarden >0 aan het begin van een range.
Of is er een eenvoudiger methode?
Bekijk bijlage test_sorteer_opl_1.xls