Avatar billede pernillemb Nybegynder
16. maj 2005 - 13:35 Der er 19 kommentarer og
1 løsning

Automatisk sortering af liste i alfabetisk rækkefølge

Hejsa.

Er ved at lave en skabelon i excel, dvs den skal kunne bruges mange gange.

I et ark har jeg plads til at kopiere en lang række navne ind så de står i en lang liste. På et andet ark vil jeg så have den til at lave samme liste, bare i alfabetisk rækkefølge. Er det muligt uden alt for meget makro/VBA...???

Jeg kan desværre ikke gøre det manuelt linie for linie, da der er helt op til 128 personer på den liste (kan være alt fra 4 til 128), men ville gerne have lavet et eller andet smart i skabelonen.

Håber der er en der kan hjælpe... *S*

Pernille
Avatar billede jkrons Professor
16. maj 2005 - 13:41 #1
Det nemmeste er nok at overføre listen usorteret, og så sortere den manuelt i det nye ark.
Avatar billede pernillemb Nybegynder
16. maj 2005 - 13:50 #2
Hmm... ja det er det nemmeste... problemet er bare at dem, der skal bruge skabelonen, ikke har en dyt forstand på excel, så derfor vil jeg gerne have den gør det automatisk... så de ikke skal gøre noget...
Avatar billede jkrons Professor
16. maj 2005 - 14:20 #3
Antag at du har alle dine navne i Ark1, kolonne A. I Ark 2, kolonne A kan du så indsætte denne formel =Ark1!A1. Kopier den så langt ned, som du har brug for.

Så opdateres Ark2, samen med Ark1. Men sorteringen kan du nok ikke gøre uden VBA. Tryk Alt+F11 og kopier dette til ThisWorkbvook:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If Sh = "ark2" Then
        Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess
    End If
End Sub
Avatar billede jkrons Professor
16. maj 2005 - 14:21 #4
Så sorteres kolonnen hver gang du skifter til Ark2.
Avatar billede pernillemb Nybegynder
16. maj 2005 - 14:30 #5
skal koden indsættes i 'ThisWorkbook'...??? For så kan jeg ikke få det til at virke... :-(
Avatar billede jkrons Professor
16. maj 2005 - 14:32 #6
Det skal den. Hvad sker der, når du prøver?
Avatar billede pernillemb Nybegynder
16. maj 2005 - 14:35 #7
Den sorterer ikke når jeg skifter over på ark 2... de står stadig i samme rækkefølge som på ark 1...

Men tænkte på... Range("A1"), skal der ikke stå hele intervallet der...???

Og noget andet... hvis der ikke står noget i feltet på ark 1 så skriver den jo '0' på ark 2, de kommer vel til at stå øverst når den har sorteret... kan man ikke enten fjerne dem helt eller skrive dem nederst...???

Eksempel: 64 ud af de 128 felter er udfyldt... dvs der også er 64 felter med '0'... så skal man scrolle 64 felter ned før man kommer til selve listen... knap så smart...
Avatar billede pernillemb Nybegynder
16. maj 2005 - 14:36 #8
Der sker intet når jeg prøver... den skriver ingen fejlmeddelelser eller andet... den skriver bare listen som på ark 1...
Avatar billede pernillemb Nybegynder
16. maj 2005 - 14:43 #9
Nå... nu prøvede jeg at gemme, lukke ned og åbne dokumentet igen... og nu skriver den:

Run-time error '438':

Object doesn't support this property or method

Og jeg kan vælge mellem 'End', 'Debug' eller 'Help'

Og endda uden at gå på ark 2... :S
Avatar billede pernillemb Nybegynder
16. maj 2005 - 14:46 #10
Hmmm... den mener selv det er denne linie det er galt med:

If Sh = "ark2" Then

Det eneste jeg har gjort er at ændre navnet på ark2 til det mit ark hedder i dokumentet, så den ser sådan ud nu:

    If Sh = "Seen" Then

men det skulle vel ikke betyde noget...
Avatar billede jkrons Professor
16. maj 2005 - 14:48 #11
Næh, det burde være godt nok.

Har du mulighed for evt at sende filen?
Avatar billede jkrons Professor
16. maj 2005 - 14:50 #12
Omkring det med 0'erne tror jeg ikke der er en løsning. Med mindre vi skal ud i noget med makro omkring overførslen til det andet ark også.
Avatar billede pernillemb Nybegynder
16. maj 2005 - 14:50 #13
Ehmm... ja... men den kræver nok lidt forklaring så... ;-) *GG* Det jeg har beskrevet her er jo meget simpelt i forhold til hele filen... he he...

Men tilføj mig på msn eller skriv en mail til mig på pernille1000@hotmail.com
Avatar billede pernillemb Nybegynder
16. maj 2005 - 14:58 #14
hmmm... det med 0'erne... kan man ikke lave en eller anden form for 'if then' sætning i forbindelse med ovenstående kode...???

Noget med:

if a1=0 then *spring over og gå til næste*

he he... er ikk så god til VBA... ;-)
Avatar billede jkrons Professor
16. maj 2005 - 15:05 #15
Desværre er det ikke så simpelt. Hvis A1 = 0 kan man selvfølgelig godt springe den over, men his A2 er 0, er du nødt til at undersøge den også, og den næste og den næste...

Alt andet lige, vil jeg gætte på at det er nemme at lære brugerne at klikke på den sorterknap, der allerede findes i værktøjslinien.
Avatar billede pernillemb Nybegynder
16. maj 2005 - 15:15 #16
Ved ikke om det hjælper noget... men den liste med navne der skal sættes ind er altid 'hel'... ment på den måde at der ikke er huller eller 0'er i... 0'erne kommer først til sidst... dvs. at pladserne fra 1 til 64 (f.eks.) kan være navne, hvorefter alle 0'erne kommer...
Avatar billede jkrons Professor
16. maj 2005 - 15:20 #17
Problemet er, at selv om det er muligt at teste på om en celle i Ark1 er tom, og så lade cellen i Ark2 være tom, vil tomme celle også blive sorteret før celler med indhold. De "tomme" celler er nemlig ikke tomme. De indeholder en formel.
Avatar billede jkrons Professor
16. maj 2005 - 15:21 #18
Derfor er du nok nødt til at "rode dig ud i " noget makropogrammering omkring overførslen til det andet ark. Og det kræver lidt større viden om, hvordan dit ark er "strikket sammen". Men jeg skal desværre lige en tur i byen, og er ikek hjemme før omiring kl. 21.00, så måske er der andre, der kan give en hånd med...
Avatar billede pernillemb Nybegynder
16. maj 2005 - 16:06 #19
Har nu lavet listen og skrevet en forklaring ved siden af, hvordan man sorterer... håber ikke de kludrer for meget rundt i det...

jkrons... selvom du ikke lige kunne løse mit problem vil jeg godt give dig point for ihærdighed... *S* Så smid et svar når du kommer hjem engang... :-)

Ellers tak for hjælpen...
Avatar billede jkrons Professor
16. maj 2005 - 22:01 #20
Helt i orden og tak :-)
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