Avatar billede sism Nybegynder
01. februar 2008 - 12:22 Der er 7 kommentarer og
1 løsning

Makro til sortering af liste ved åbning af Ekselark

Er der nogen der kan lave en makro til mig der sorterer på følgende:

200702    5%
200703    6%
200704    1%
200705    8%
200706    4%
200707    5%
200708    2%
200709    3%
200710    6%
200711    3%
200712    9%
200801    11%

Ovendtående er årstal og måned, med tilhørende procent.
Jeg har oprettet et regneark der løbende vil få ændret årstal og måned på følgende måde:

200702 vil blive erstattet af 200802listen men beholde pladsen for 200702:

200802  2%
200703    6%
200704    1%
200705    8%
200706    4%
200707    5%
200708    2%
200709    3%
200710    6%
200711    3%
200712    9%
200801    11%

Dette skal efterfølgende sorteres således at jeg får

200703    6%
200704    1%
200705    8%
200706    4%
200707    5%
200708    2%
200709    3%
200710    6%
200711    3%
200712    9%
200801    11%
200802  2%

Derved har jeg mulighed for at lave en sammenhængende graf over de seneste 12 måneder.
Avatar billede jkrons Professor
01. februar 2008 - 13:25 #1
Læg dette i ThisWorkbook modultet for den pågældende projektmappe:

Private Sub Workbook_Open()
    Range("A1").Select
    Range("A1:B12").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub

Ret selv til det område, du har data i.
Avatar billede sism Nybegynder
01. februar 2008 - 13:48 #2
Jeg har et ark der heder Rammer

Der lægger jeg de data der skal sorteres i A200:B211.

Jeg har forsøgt at sætte det ind i din formel, men ved ikke helt hvor jeg skal sætte det ind...Kan du hjælpe mig igen?
Avatar billede jkrons Professor
01. februar 2008 - 14:19 #3
Åbn den mappe dit ark ligger i. Tryk Alt+F11. I ruden øverst til højre, dobbeltklikker du på ThisWorkook, og kopierer koden ind der. Gem, luk og prøv at åbne igen.
Avatar billede jkrons Professor
01. februar 2008 - 14:19 #4
Ret til
Private Sub Workbook_Open()
    Range("A200").Select
    Range("A200:B211").Sort Key1:=Range("A200"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub
Avatar billede sism Nybegynder
01. februar 2008 - 14:48 #5
Tak! Det ser ud til at virke! dog mangler jeg at finde udaf hvordan jeg får makroen til at køre uden at åbne arket. Jeg ville gerne tilføje en knab til aktivering af makroen har du et svar på dette?
Og hvordan accepterer jeg dit svar så du kan få dine points?
Avatar billede jkrons Professor
01. februar 2008 - 15:34 #6
Du giver mig point ved at accepter dette svar :-)

Da makroen ligger i arket, kan du ikke køre dne før arket er åbent. Hvis du gerne vil sortere løbende, er der ingen grund til at bruge en makro. Så markerer du bare det område, du vil sortere, altså A200 til B211. Sørg for at A200 er "hvid". klik så på sorteringsknappen i værktøjslinien.
Avatar billede sism Nybegynder
01. februar 2008 - 17:02 #7
Tak for dit svar jeg klikker på Accepter §:o)

Jeg ved ikke hvad du mener med "hvid"
Jeg har brug for at andre kan opdatere, og det ville jeg gerne have til at virke i form af en knab. Men tak for hjælpen §:o)
Avatar billede jkrons Professor
01. februar 2008 - 17:16 #8
Ok. Lav en kommandoknap med værktøjslinien Kontrolelementer. Højreklik på denne og vælg Vis Programkode. Sæt disse lnier ind mellem de to linier, der allwerede står

Range("A200").Select
    Range("A200:B211").Sort Key1:=Range("A200"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester