Marcro der sortere række basseret på 2 faktore i samme celle
Jeg kunne godt tænke mig at lave en macro der sortere rækkerne af 2 omgange. først på de 2 første cifre i cellen siden på de resterende.
Jeg har en 2 ordrenr. serier hvor den ene har 5 ciffre og den anden 6 cifre. men dem med 6 cifre er ikke nødvendigvis dem der skal stå til sidst (Mindst til størst sortering) i stedet skal de der starter med 17 altid stå til sidst og så sorteret efter de sidste 3-4 cifre. mens dem der starter med <16 skal stå først uanset om der er 3 eller 4 cifre mere.
Nogle gode bud på hvordan det gøre nemt (og at splitte order. nr op i 2 celler er ikke en mulighed)
Dim rng16(), rng17() ReDim rng16(1 To Selection.Count) ReDim rng17(1 To Selection.Count) rng = WorksheetFunction.Transpose(Selection)
For t = LBound(rng) To UBound(rng) If Left(rng(t), 2) = 16 Then x16 = x16 + 1: rng16(x16) = rng(t) If Left(rng(t), 2) = 17 Then x17 = x17 + 1: rng17(x17) = rng(t) Next
For t = 1 To x16 Cells(t + 1, "h") = WorksheetFunction.Small(rng16, t) Next For t = 1 To x17 Cells(t + x16 + 1, "h") = WorksheetFunction.Small(rng17, t) Next
OBS koderne skrives i kolonne h - ret til aktuel : i denne linie Cells(t + 1, "h") = WorksheetFunction.Small(rng16, t) og denne Cells(t + x16 + 1, "h") = WorksheetFunction.Small(rng17, t)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.