17. januar 2002 - 15:31Der 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?
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
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.
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
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?
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
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?
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.
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
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)
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.