Avatar billede ekman Nybegynder
17. januar 2002 - 15:31 Der er 22 kommentarer og
1 løsning

Tælle farver??

Er det muligt at tælle hvor mange farvede celler der er i et område? Jeg ahr et stort område, hvor jeg bruge 8 forskellige farver. Jeg vil gerne tælle hvor mange af cellerne der er gule, røde, blå etc... Og, efterfølgende returnere antallat til en celle. Er det muligt?
17. januar 2002 - 15:48 #1
i en celle skriver du f.eks.    =colorcell(E1:F20;\"pink\")

i et vba modul indsætter du denne her:

Function ColorCell(rRange As Range, sColor) As Double
Dim rCell As Range, iColor As Integer
Dim dCount As Double
       
    sColor = UCase(sColor)
    Select Case sColor
        Case \"RØD\"
            iColor = 3
        Case \"LGRØN\"
            iColor = 4
        Case \"BLÅ\"
            iColor = 5
        Case \"GUL\"
            iColor = 6
        Case \"PINK\"
            iColor = 7
        Case \"LBLÅ\"
            iColor = 8
        Case \"BRUN\"
            iColor = 9
        Case \"GRØN\"
            iColor = 10
        Case Else
            iColor = 1
    End Select
   
    For Each rCell In rRange
        If rCell.Interior.ColorIndex = iColor Then dCount = dCount + 1
    Next rCell
    ColorCell = dCount
End Function


Der skal nok laves lidt om på farvenumrene. De farver du bruger finder du numrene på, med at starter makrobåndoptageren, og optage dine farvninger.
Avatar billede bak Forsker
17. januar 2002 - 16:05 #2
En lille forenkling af Flemmings makro.
Du formaterer lige  celler i de farver du nu bruger. fx fra a1:a8
ud for hver af dem skriver du så colorcell(området du vil tælle;a1)
det vil sige at du tæller det antal som har den farve der er i a1

Function ColorCell(rRange As Range, sColor) As Double
Dim rCell As Range, iColor As Integer
Dim dCount As Double
    For Each rCell In rRange
        If rCell.Interior.ColorIndex = sColor.Interior.ColorIndex Then dCount = dCount + 1
    Next rCell
    ColorCell = dCount
End Function
Avatar billede ekman Nybegynder
17. januar 2002 - 16:08 #3
Jeg er ikke helt med på hvad du mener. Skal man både bruge formel, og vba modul sammen? Hvis ikke skal jeg så ikke have min celle inde i koden?
Avatar billede janvogt Praktikant
17. januar 2002 - 16:10 #4
Koden danner en funktion, som kan anvendes i arket ligesom f.eks. HVIS-funktionen.
Avatar billede bak Forsker
17. januar 2002 - 16:11 #5
Du smider bare koden ind i et vba-modul og så har du en ny funktion i dit regneark der hedder Colorcell
Avatar billede ekman Nybegynder
17. januar 2002 - 16:15 #6
OK! Nu er jeg med. Man lærer da også noget nyt hver dag. Kan det passe at den ikke opdaterer af sig selv. Dvs. hvis jeg ændrer farverne i mit område, ændres resultat ikke automatisk?
Avatar billede bak Forsker
17. januar 2002 - 16:22 #7
lige under sub colorcell() sætter du linien
Application.Volatile

så sker opdatring øjeblikkelig
17. januar 2002 - 16:22 #8
hvis du bruger bak\'s så skal første linie se således ud
Function ColorCell(rRange As Range, sColor As Range) As Double

Hvis det er min
Function ColorCell(rRange As Range, sColor As String) As Double

udemærket tilføjelse bak :-) den burde så hedde rColor....!
17. januar 2002 - 16:24 #9
Function ColorCell(rRange As Range, rColor As Range) As Double
Dim rCell As Range, iColor As Integer
Dim dCount As Double
    Application.Volatile
    For Each rCell In rRange
        If rCell.Interior.ColorIndex = rColor.Interior.ColorIndex Then dCount = dCount + 1
    Next rCell
    ColorCell = dCount
End Function
Avatar billede bak Forsker
17. januar 2002 - 16:29 #10
Det or også en fin kode du har lavet. Det med variabelnavne ligger nok ikke lige til mig :)
Avatar billede bak Forsker
17. januar 2002 - 16:29 #11
og det stavning åbenbart heller ikke
17. januar 2002 - 16:31 #12
hæhæ :-) ja, det er vist en fin løsning
Avatar billede ekman Nybegynder
17. januar 2002 - 16:35 #13
Jeg kan desværre ikke få den til at opdatere med det samme. Selvom jeg har brugt den sidste af Flemming koder. Virker det hos Jer? Er der noget man skla være specielt opmærksom på ved indsætningen af disse moduler? Jeg kører med Excel 97 er det for gammelt?
17. januar 2002 - 16:37 #14
Jeg er stoppet med at teste, men hvis du skifter farver på nogen celler, så sker der ingen beregning, så vidt jeg husker, så må du trykke F9.
Avatar billede ekman Nybegynder
17. januar 2002 - 16:41 #15
Tak for fornemme svar...

bak du får også points
Avatar billede bak Forsker
17. januar 2002 - 18:28 #16
Tak for Det
Den SKAL opdatere sig selv. prøv at sætte application.volatile lige under funktionsnavnet.
Avatar billede tida Juniormester
18. januar 2002 - 15:15 #17
Det hjælper ikke ligegyldigt hvor man anbringen den i koden...
Avatar billede tida Juniormester
18. januar 2002 - 15:16 #18
Hvis man sletter opdatere den tilgengæld lige med det samme, pudsigt ..
18. januar 2002 - 16:19 #19
Som jeg har skrevet tidligere, så aktiverer en farvelægning ikke en beregning, men det gør en f.eks. en sletning. Det er der ikke noget mærkeligt i.
Avatar billede bak Forsker
18. januar 2002 - 17:08 #20
Jeg synes alligevel det er lidt mærkeligt, for det gør den altså for mig.
Prøv at se http://tommy.bak.homepage.dk
Funktioner der virker med farvede celler.

Avatar billede bak Forsker
18. januar 2002 - 17:18 #21
Lige knap rigtigt.
Hvis man direkte sætter farve på sker der kun opdatering hvis man trykker F9, hvorimod hvis man bruger formatpenslen sker opdatering mad set samme
18. januar 2002 - 18:51 #22
Det var rart at høre :-)
Avatar billede bak Forsker
18. januar 2002 - 23:03 #23
Soory hvis mit svar har givet anledning til misforståelser.
Med et alm. farveskift skal excel naturligvis ikke genberegne et helt regneark,da ingen værdier har skiftet, hvorimod ved en formateringsændring som ved brug af formatpensel skal den genberegne.
(tænk på dato eller nummer formatering)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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