Avatar billede sjokoman Juniormester
22. december 2008 - 16:55 Der er 17 kommentarer og
1 løsning

Jeg har brugt betinget formatering og skal tælle celle farve

Jeg har brugt betinget formatering og får "malet" cellen rød, når der står et bogstav i F.eks A,V,I,G osv
Når jeg så prøver at tælle alle de røde celler ved hjælp af en formel i et modul her fra forummet, kan jeg ikke få facit.
Fra F6:FM6 er der måske 25 farvede (røde) celler, som jeg gerne vil have talt op i felt FQ6.
Det er lige meget, om det er farven eller bogstaverne, der bliver talt op.
Kan I hjælpe mig?
På forhånd tak

Johnny Madsen
Avatar billede excelent Ekspert
22. december 2008 - 17:45 #1
Function tælFarve(rng As Range)
Application.Volatile
For Each c In rng
If c.Interior.ColorIndex = 3 Then tælFarve = tælFarve + 1
Next
End Function

i arket aster du =tælfarve(f6:fm6)

obs en funktion trikker ikke på formater som fx farve
hvis det er et must, kan du få en hændelsesmakro til at
checke for indtastning i fx F6:FM6
Avatar billede excelent Ekspert
22. december 2008 - 17:48 #2
Det bliver ikke nødvendigt kan jeg se
formlen/funktionen opdateres jo når du indtaster noget
i nævnte område, som jo bestemmer farven
Avatar billede sjokoman Juniormester
22. december 2008 - 18:10 #3
Jeg har sat din formel ind som et modul?
I et felt har jeg skrevet =tælfarve(f6:fm6)men der står et 0 (nul).
Farven rød kommer, når jeg f.eks. taster et A ind men ikke hvis jeg taster et E ind. (Betinget formatering), har jeg gjort det rigtigt
Avatar billede sjokoman Juniormester
22. december 2008 - 18:15 #4
Er der ikke en formel eller lign. hvor man kan skrive tæl.hvis F6:FM6;(A + G + I + V), det virker mere nemt for mig.
med venlig hilsen

Johnny
Avatar billede excelent Ekspert
22. december 2008 - 18:49 #5
ja det kunne være rart hvis denne virkede =TÆL.HVIS(F6:FM6;{"A";"V";"I";"G"})
men det gør den ikke
så skal vi over i noget =TÆL.HVIS(F6:FM6;"A")+TÆL.HVIS(F6:FM6;"V")+ osv.

vdr. Funktionen : har du ikke nogen røde celler i det område ?
Avatar billede excelent Ekspert
22. december 2008 - 19:37 #6
prøv med denne som tester for Bogstaverne A,V,I,G
udvid med flere bogstaver efter behov

Function tælVærdi(rng As Range)
Application.Volatile
For Each c In rng
If c.Value = "A" Or c.Value = "V" Or c.Value = "I" Or c.Value = "G" Then
tælFarve = tælFarve + 1
End If
Next
End Function
Avatar billede excelent Ekspert
22. december 2008 - 19:40 #7
Det kører rigtigt for mig nu :-) brug denne

Function tælVærdi(rng As Range)
Application.Volatile
For Each c In rng
If c.Value = "A" Or c.Value = "V" Or c.Value = "I" Or c.Value = "G" Then
tælVærdi = tælVærdi + 1
End If
Next
End Function
Avatar billede sjokoman Juniormester
22. december 2008 - 21:30 #8
Jeg har sat din kode ind i ark1 og trykket på x. Jeg har i et felt uden for der, hvor jeg skal tælle op skrevet =tælværdi(F6:FM6) og får beskeden #NAVN? ugyldig navn. Hvor gør jeg fejl?
med venlig hilsen

Johnny Madsen
Avatar billede sjokoman Juniormester
22. december 2008 - 21:55 #9
Jeg har lige brugt:
=TÆL.HVIS(F19:FM19;"A")+TÆL.HVIS(F19:FM19;"V")+TÆL.HVIS(F19:FM19;"N")+TÆL.HVIS(F19:FM19;"O")+TÆL.HVIS(F19:FM19;"P")+TÆL.HVIS(F19:FM19;"I")+TÆL.HVIS(F19:FM19;"S")+TÆL.HVIS(F19:FM19;"G")+TÆL.HVIS(F19:FM19;"C")
og det virker tilsyneladende.
Jeg tester lige

mvh Johnny
Avatar billede excelent Ekspert
22. december 2008 - 22:03 #10
Funktionen/koden skal ind i et almindeligt modul
ikke i arkets kodemodul
Avatar billede bak Forsker
22. december 2008 - 22:25 #11
=SUMPRODUKT(--(F19:FM19={"A";"V";"I";"G"}))
Avatar billede bak Forsker
22. december 2008 - 22:30 #12
sorry, så ikke lige at det skulle være vandret. Så skal seperatoren være \ istedet for ;
=SUMPRODUKT(--(F19:FM19={"A"\"V"\"I"\"G"}))
Avatar billede excelent Ekspert
22. december 2008 - 23:20 #13
yep den dur bak :-)
hvordan fanger man en farves farvekode når det er med betinget format ?
Avatar billede sjokoman Juniormester
23. december 2008 - 09:32 #14
Både min og bak's virker, så det er fint for mig. Jeg havde jo blandet farverne ind i, som excelent har forsøgt sig med. Jeg vil prøve senere at sætte formlen ind, som beskrevet. Hvordan skal feltet, som jeg vil have værdien i, se ud excelent?

mvh Johnny
Avatar billede bak Forsker
23. december 2008 - 09:48 #15
Man kan ikke fange et betinget formats farvekode, kun en normal baggrundsfarve. (jeg kan være lidt bagud her i forhold til xl2007)
Måden at gøre det på via kode en at lave nøjagtig de samme betingelser i koden og så tælle ud fra dette.
Avatar billede excelent Ekspert
23. december 2008 - 10:00 #16
Hvis du mener formlen til Funktionen så : =tælværdi(f19:fm19)
men se bort fra mine indlæg og giv point til bak for den fine formel
Guldkorn skal altid honoreres efter min mening :-)
Avatar billede bak Forsker
23. december 2008 - 10:07 #17
Jeg deler gerne med excellent. Hans kode kan også gøre det (altså den sidste :-))
Avatar billede sjokoman Juniormester
23. december 2008 - 22:44 #18
Jeg satte baks op ved siden af min klodsede og baks virkede.
Tak for hjælpen begge to, jeg vender tilbage. Jeg får virkelig meget ud af hjælpen herfra.

mvh Johnny
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