Jeg har et Excel ark, som har overskrifter i A2,B2, etc. I rækkerne ned efter står der således værdier ( både tal og bogstaver ) og disse rækker bliver givet forskellige farver alt efter deres status. Hvem ved hvordan jeg kan får Excel til at sorterer automatisk efter disse farvekoder ? Således f.eks. rækker med rødt står øverst, blå i midten og hvide nederst..
Hvordan bliver farverne skabt? Da formler ikke kan arbejde med farver kan vi ikke lave en "oversættelse" på den måde, men vba vil kunne læse cellens farve og så lave en tal-oversættelse som du kunne sortere efter.
Farverne lægges på af brugerne. F.eks. kan en række være en vare, som ikke er brugt. I de forskellige kolonner står der så nogle oplysninger om varen ( varenr, placering, etc ). Når så varen er brugt, så farver medarbejderen rækken rød. Hvis varen er til rep, så bliver rækken blå. Giver det mening ?
@ Jan K : tak for input, men Excel skal gerne gøre det løbende / automatisk. Det skal ikke være en manuel arbejdsgang. Farverne kan skifte farve flere gange og det nytter ikke, at man manuelt skal lave sortering hver gang - så går det smarte lidt af tankegangen.
@ Mads32 : Ikke noget problem - det kan jeg bare selv bestemme / definerer og lade disse blive brugt fremover. Selve farverne er egentlig ikke så vigtige, da vi internt bare tilpasser definitionen på de respektive farver..
Problemet er, at der ikke udløses en hændelse ved farveskift som kan igangsætte en VBA kode der udfører sorteringen. Laves der andre ændringer i regnearket, som kan udløse sorteringen?
Hej Jan. Der laves andre ændringer, men ikke en "fast" ændring. Det kan dog indarbejdes, hvis det er nødvendigt. Jeg tænker f.eks. at man kan bruge en kolonne og sætte et "s" eller noget lignende - hvis det kan udløse en sortering..
Jeg har lavet et lille eksempel, hvor jeg har tilføjet en hjælpe kolonne. I hjælpekolonnen kan der vælges en kode. Jeg har lavet en datavalidering på kolonnen hvor der er mulighed for at vælge "Rep", "Brugt" eller en tom celle(står der noget i en celle og der ikke skal bruges nogle af de andre valgmuligheder, skal celle blot slettes.
Der er betinget formatering på cellerne, så cellerne automatisk får tilknyttet farver.
Sortering sker ved hjælp af den almindelige sortering på området A3:G7.
Med de betegnelse jeg har anvend som kode, vil "Brugt" stå over "Rep" og de tomme vis stå nederst.
Private Sub Worksheet_Change(ByVal Target As Range) 'Ved ændring i A2:A10 --> kan tilpasses If Not Intersect(Target, Range("A2:A10")) Is Nothing Then 'Sorter A2:C10 --> kan tilpasses ' Sorter efter kolonne A kun udvides med: ' Key1:=Range("A2"), Key2:=Range("B2"), Først A der efter B Range("A2:C10").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range) 'Ved ændring i A2:A10 --> kan tilpasses If Not Intersect(Target, Range("A2:A10")) Is Nothing Then 'Sorter A2:C10 --> kan tilpasses ' Sorter efter kolonne A kun udvides med: ' Key1:=Range("A2"), Key2:=Range("B2"), Først A der efter B Range("A2:C10").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal End If End Sub
Jeg tror dælme det er løsningen, men skal lige have det til at virke helt perfekt :) Gør det nogen forskel hvis der kommer flere farver til ( altså i kolonne A ) ?
Det skal jeg nok få til at spille - fedt. Dog lige en sidste ting..- hvordan bestemmer jeg rækkefølgen på sorteringen ? F.eks. vil jeg gerne have rækker med tom kolonne A øverst og så grøn, gul, rød.
Hej Morten, Jeg er næsten i mål og det er super godt - mangler bare den sidste "lille" ting. Nogle gange vil kolonne A være tom og så skal disse gerne stå over rækker som har en kode ( grøn=1, gul=2,rød=3 ). Kan man løse det på nogen måde ?
Hej, Det kunne sagtens være en mulighed, men ville helst undgå at man aktivt skulle skrive en status i - det ville være bedst, hvis Excel kunne løse det selvom feltet blot er blankt.
Har lavet en makro der udskifter tomme celle med 0 Fra A2 og så langt ned der er data i kolonne B, skal kun køres en gang.
Til føjet kode, der sætte 0 hvis "Status" slettes.
Betinget formatering: 0 = hvid tekst/tal.
Synes godt om
Ny brugerNybegynder
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.