23. februar 2003 - 18:51Der er
12 kommentarer og 2 løsninger
Sorterings-makro på stigende antal rækker
Jeg har 5 kolonner med data, jeg gerne vil have sorteret. Af hensyn til andre brugere, vil jeg lave en knap der hurtigt og enkelt sortere pågældende data. Antallet af rækker er ikke permanent, det stiger med tiden, men ikke nødvendigvis med samme antal hver gang.
Hvis jeg indspiller en makro, er jeg nødt til at fremhæve det område, jeg vil sortere, og det stiger jo, så derfor...
Jeg ønsker en sorterings-makro, der kun sorterer på de rækker, der indeholder data, men hvordan?
Nej desværre, for de første 4 rækker skal ikke sorteres med, da de indeholder diverse tekst (ikke kun kolonneoverskrifter). Jeg kan selvfølgelig prøve med følgende:
Columns("A5:E5000).Select
så går der noget tid inden området bliver fyldt, men det optimale vil være, at excel selv finder de celler der indeholder data.
Jeg prøver med ovenstående, men lader lige spørgsmålet hænge lidt.
Problemet er selvfølgelig de fire rækker. En ændring i ovenstående sortering fra Header:=xlGuess til Header:=xlYes ville medføre at den første række ikke ville blive medtaget. Der er ikke nogen indstilling til de første fire rækker, så dit eget forslag er en udmærket ide.
Ikke fordi jeg vil anfægte kabbaks svar; men hvori ligger forskellen? De to løsninger giver så vidt jeg kan se præcis det samme resultat, og forskellen er ikke så stor, så hvor er det lige det "ønskede" kommer ind.
Jeg spørger blot fordi, jeg ikke ved hvad forskellen på de to kald er - og et af de væsentligste formål med at deltage her er at lære.
superjap ->OK, min fejl. Med det første svar, mente jeg det allerførste. Og du har ret i, at meningen er at lære, så jeg vil selvfølgelig straks rette min fejl.
Superjap > det er rigtig at "x = ActiveSheet.UsedRange.Rows.Count" er det samme som "ActiveCell.SpecialCells(xlLastCell).Row".
Bortset fra en ting, som i dette tilfælde er uden betydning.
"ActiveCell.SpecialCells(xlLastCell).Row" finder den sidste brugte række.
"x = ActiveSheet.UsedRange.Rows.Count" finder antal rækker mellem første data og sidste data, så hvis der er ubrugte rækker i toppen tælles de ikke med.
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.