Avatar billede chirholm Nybegynder
07. marts 2008 - 11:27 Der er 10 kommentarer og
1 løsning

farvekoder i excel uden brug af corditional formatting

jeg skal i excel have sat farvekoder på en række celler i en kolonne.

Jeg har skrevet alle mine kunder ned i en række celler og inddelt dem i farver.

Den originale kolonne hvor jeg så har kunderne tilfældigt skrevet ned, da de er hentet fra et andet program, skal jeg have til automatisk at blive inddelt i farver.

dvs. de celler i kolonnen som er li med ENTEN S6, T6, U6, V6, W6 or X6 skal blive grønne, er de istedet li med ENTEN Y6, Z6, AA6, AB6 eller AC6 skal de være røde OSV.

jeg har 6 farvekoder hvorfor jeg ikke kan bruge conditional formatting
Avatar billede supertekst Ekspert
07. marts 2008 - 11:32 #1
Hvor mange kunder er der?

Er der noget kriterier i form af celleindhold, der kunne anvendes til farvesætningen via VBA?
Avatar billede vejmand Juniormester
07. marts 2008 - 11:33 #2
Mon ikke det er noget lignende dette du skal ha fat i:
http://www.eksperten.dk/spm/822225

Det skal lige siges, at det ikke er noget jeg har det mindste forstand på.  :-)
Avatar billede chirholm Nybegynder
07. marts 2008 - 12:18 #3
jeg har som sagt 6 kundegrupper (farver)

1. 23 kunder
2. 3 kunder
3. 3 kunder
4. 4 kunder
5. 2 kunder
6. 6 kunder

hver kunde står i egen celle hvorefter den orig. kolonne nu skal have farve alt efter hvilken kunde det er og hvilken gruppe kunden hører ind under.

Kriteriet for farvesætningen er at hver kundegruppe har deres egen farve.
Avatar billede supertekst Ekspert
07. marts 2008 - 13:52 #4
Skal det forstås sådan:

I "din egen liste" er kunderne forsynet med farver. I "original-filen" skal den enkelte kunde have samme farve, som "i din liste"?

D.v.s. at hvis der er et kundenr - eller anden entydig identifikation - så kan "din liste" gennemløbes og for hver række foretages et opslag i "originalen" og samme farve sættes heri.
Avatar billede chirholm Nybegynder
07. marts 2008 - 14:07 #5
ja præcis... eller lige nu har jeg bare sat "egen liste" ude til højre og tænkte så man på en måde kunne sige at hvis orignal celle X er li med en af cellerne fra X-Y i "egen liste" skal den være farve Z

men hvis det er nemmere og sætte "egen liste" ark 2 er det ingen problem
Avatar billede supertekst Ekspert
07. marts 2008 - 14:23 #6
Hvilke kolonner kan sammenlignes?

Hvis det vil lette "ekspeditionen" - så er du velkommen til at sende din fil til:
pb@supertekst-it.dk
Avatar billede chirholm Nybegynder
13. marts 2008 - 10:11 #7
Jeg må desværre ikke sende hele filen da der er fortrolige oplysninger i den.

det er kolonne F som skal sammenlignes med kolonne W der er delt op i grupper:

gruppe 1 (farvekode 1) = Celle: 6-28
gruppe 2 (farvekode 2) = Celle: 29-31
gruppe 3 (farvekode 3) = Celle: 32-33
gruppe 4 (farvekode 4) = Celle: 34-37
gruppe 5 (farvekode 5) = Celle: 38-39
gruppe 6 (farvekode 6) = Celle: 40-45

Hvis det er nemmere og dele grupperne op i hver deres kolonne er dette ikke et problem!
Avatar billede supertekst Ekspert
13. marts 2008 - 14:00 #8
Ok - har opbygget en model, hvor VBA-koden er anbragt i Ark1.
Hvis du vil have min "model" - så send en mail til: pb@supertekst-it.dk

Const startRækF = 6
Const aktuelleArkNavn = "Ark1"

Dim ark As Worksheet
Sub farvesætning()
    Set ark = Worksheets(aktuelleArkNavn)
   
    gennemløbKolonneF
    MsgBox ("Gennemløb er afsluttet")
End Sub
Private Sub gennemløbKolonneF()
Dim Fræk, egenKunde, farve
    For Fræk = startRækF To 65000
        With ark
Rem Afbryd hvis tom cellemødes i kolonnen
            egenKunde = .Range("F" & CStr(Fræk)).Value
            If egenKunde = "" Then
                Exit Sub
            Else
    Rem Eller lav opslag i kolonne W& hent fyldefarven
                farve = hentfarveFraKolonneW(egenKunde)
                If farve <> -1 Then
                    .Range("F" & CStr(Fræk)).Interior.ColorIndex = farve
                End If
            End If
        End With
    Next Fræk
End Sub
Private Function hentfarveFraKolonneW(egenKunde)
    With ark.Range("W6" & ":W65000")
        Set c = .Find(egenKunde, LookIn:=xlValues, LookAt:=xlPart)
            If Not c Is Nothing Then
                ræk = c.Row
                hentfarveFraKolonneW = ark.Range("W" & CStr(ræk)).Interior.ColorIndex
            Else
                hentfarveFraKolonneW = -1
            End If
    End With
End Function
Avatar billede supertekst Ekspert
18. marts 2008 - 23:31 #9
OK - her er et svar....
Avatar billede chirholm Nybegynder
19. marts 2008 - 09:55 #10
tusind tak for hjælpen:-)
Avatar billede supertekst Ekspert
19. marts 2008 - 09:58 #11
Selv 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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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