Avatar billede prinsib Seniormester
17. november 2008 - 13:41 Der er 4 kommentarer og
1 løsning

Automatisk insættelse af række /2

Hej Alle.
Med henvisning til www.eksperten.dk/spm/852660, har jeg nogle spørgsmål.
For det første kan jeg ikke få det til at fungere.
Jeg højreklikker på arkets fane. Klikker på vis programkode. Klikker på insert og module og sætter koden ind der. Er det rigtigt?
For det andet kan man få den til at sortere alfabetisk i A kollonen i stedet, og så flytte Række A til og med E.
Hold op hvor er det svært at forklare rigtig.
Skriv hvis det ikke er forståeligt.
Ib
Avatar billede jkrons Professor
17. november 2008 - 14:02 #1
Det ser ud til, at du gør det rigtigt. Det virker upåklageligt hos mig, hvis man taster i B-kolonnen.

Hvis det skal være indtastning i A-kolonnen, der skal udløse sorteringen så prøv med

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Columns("A:E").Select
    Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
        End If
        Range("A1").Select
End Sub

Den sorterer alle kolonner fra A til og med E
Avatar billede prinsib Seniormester
17. november 2008 - 21:44 #2
Hej
Det virker altså ikke hos mig. Jeg må gøre noget forkert.
Det jeg forventer er, at hvis jeg skriver f.eks a i A1, c i A2, og skriver b i A3 så sortere den så der kommer til at stå a, b, c, i A1, A2, og A3. Det som står i rækkerne A1 til E1, A2 til E2, o.s.v. skal følge med.
Ib
Avatar billede jkrons Professor
17. november 2008 - 23:01 #3
Prøv denne:

Højreklik på arkfanen og vælg Vis programkode. Du skal IKKE insætte et modul, men kopiere nedenstående kode til det modul, der allerede er vist (det har navn efter det ark, det tilhører).

Her er en revideret udgave af koden:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Columns("A:E").Select
    Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
        End If
    Target.Offset(1, 0).Select
End Sub
Avatar billede prinsib Seniormester
17. november 2008 - 23:53 #4
Hej Jan.
Nu virker det perfekt.
Det fremkalder muligvis et andet spm. men jeg leger lige lidt med det først.
Tak for hjælpen. Smid et svar
Hilsen Ib
Avatar billede jkrons Professor
18. november 2008 - 09:23 #5
Du spørger bare :-)
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