Avatar billede kbonline Nybegynder
12. december 2005 - 11:06 Der er 6 kommentarer og
1 løsning

Ved tryk på celle - sorter a-z z-a

Hejsa

Jeg har fået denne formel som virker perfekt til at sortere en tabel a-z og z-a ved tryk på en celle i en given kollonne.

Men man SKAL dobbelt klikke på den for at den virker, og så stiller markøren sig inden i cellen, så man ikke igen kan dobbeltklikke på den uden at man først skal markere en anden celle.

Kan man ikke låse den række man ønsker skal fungere som sorterings celler, så man blot skal trykke en gang for at sortere a-z og næste gang man trykker skal der sorteres z-a.

Jeg håber i forstår, ellers skal i endelig bare spørge.

Her er formlen som fungerer (næsten som jeg ønsker det) :-)

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Range("A1:Z1")) Is Nothing Then Exit Sub
    If Target.Cells.Count <> 1 Then Exit Sub
    If LastSort = 1 Then LastSort = 2 Else LastSort = 1
    Range("A1:Z1000").Sort Key1:=Target.Offset(1, 0), Order1:=LastSort, Header:= _
                          xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Avatar billede bak Forsker
12. december 2005 - 11:28 #1
Denne lille ændring burde være nok

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Range("A1:Z1")) Is Nothing Then Exit Sub
    If Target.Cells.Count <> 1 Then Exit Sub
   
    cancel = True
   
    If LastSort = 1 Then LastSort = 2 Else LastSort = 1
    Range("A1:Z1000").Sort Key1:=Target.Offset(1, 0), Order1:=LastSort, Header:= _
                          xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Avatar billede kbonline Nybegynder
12. december 2005 - 15:19 #2
Du er ....... bare for genial :-)

Perfekt, 1000 tak for hjælpen.

Svar venligst
Avatar billede kbonline Nybegynder
12. december 2005 - 15:26 #3
Psss. kan du ikke fortælle mig hvordan jeg får lavet fx. kolonne D lyse rød.
Jeg fik denne funktion tidligere som virker ved kolonne B (bliver lysegul)
Men hvis jeg kopierer den og laver en magen til med D istedet for B går der fejl i systemet?

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
  If Not Intersect(Target, Range("B:B")) Is Nothing Then
      Range("B:B").Interior.ColorIndex = 36
  End If
End Sub
Avatar billede kbonline Nybegynder
12. december 2005 - 15:32 #4
Ekstremt krævende, men kan sorteringsfunktionen laves så den springer over rækker som er 0 altså som ikke indeholder andet end et 0.
Det er fordi jeg har lavet en kopieringsfunktion som kopierer kolonne H til kolonne B i de første 1000 rækker, men der er ikke så mange poster, så hvis jeg sorterer række B vil der komme 700 rækker øverst med 0 - 0 osv indtil de rigtige rækker kommer.
Lidt som : If B=0 then "smid ned i bunden"
Hvis du forstår hvad jeg mener.
Avatar billede bak Forsker
12. december 2005 - 16:34 #5
spm 1

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
  If Not Intersect(Target, Range("B:B, D:D")) Is Nothing Then
      Range("B:B").Interior.ColorIndex = 36
      Range("D:D").Interior.ColorIndex = 3
  End If
End Sub


spm 2
Nej, ikke umiddelbart, men hvis du viser din kode for at kopiere H over i B, kan jeg muligvis lave den så du kan nøjes med at kopiere det rigtige antal rækker over.
Det vil vel give det samme ?
Avatar billede kbonline Nybegynder
18. april 2006 - 12:41 #6
svar venligst og inkasser dine velfortjente point :-)
Avatar billede bak Forsker
18. april 2006 - 13:40 #7
ok :-)
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