Hej jetpet88
Følgende kode fungerer hos undertegnede i Excel 2003.
Jeg har oprettet en knap (cmdTælFarvedeCeller) på arket "Sheet1".
Koden løber gennem cellerne B4 til B54 og kigger efter 5 farver.
Værdierne i de farvede celler tælles op i hver sin celle, fra D1 til D5 ... og resultatet skrives med den aktuelle font farve.
Antallet af farver kan tilpasses ved af udvide/begrænse select Case strukturen.
Området der løbes igennem kan let tilrettes ved at ændre start og stop for lRow og lCol.
Det kan godt være, at du selv skal tilrette ColerIndex farvekoderne, så de passer til din baggrundsfarver ?
Her er et link til ColerIndex farvekoderne:
http://vbadud.blogspot.com/2007/06/colorindex-coloring-excel-sheet-cells.htmlPrøv det og lad høre ...
Private Sub cmdTælFarvedeCeller_Click()
Dim lRow As Long
Dim lCol As Long
Dim farve As Integer
'sæt font farve i de opsummerede celler
Sheet1.Range("D1").Font.ColorIndex = 3 'rød
Sheet1.Range("D2").Font.ColorIndex = 4 'grøn
Sheet1.Range("D3").Font.ColorIndex = 5 'blå
Sheet1.Range("D4").Font.ColorIndex = 6 'gul
Sheet1.Range("D5").Font.ColorIndex = 7 'pink
'deaktiver skærmopdatering
Application.ScreenUpdating = False
'fra række 4 til 54
For lRow = 4 To 54
'fra kolonne B til B
For lCol = 2 To 2
'tildel farve det aktuelle colorindex
farve = Sheet1.Cells(lRow, lCol).Interior.ColorIndex
'vælg farven der skal opsummeres
Select Case farve
'rød = 3
Case 3
'opsummer celle D1
Sheet1.Range("D1").Value = Sheet1.Range("D1").Value + Cells(lRow, lCol).Value
'grøn = 4
Case 4
'opsummer celle D2
Sheet1.Range("D2").Value = Sheet1.Range("D2").Value + Cells(lRow, lCol).Value
'blå = 5
Case 5
'opsummer celle D3
Sheet1.Range("D3").Value = Sheet1.Range("D3").Value + Cells(lRow, lCol).Value
'gul = 6
Case 6
'opsummer celle D4
Sheet1.Range("D4").Value = Sheet1.Range("D4").Value + Cells(lRow, lCol).Value
'pink = 7
Case 7
'opsummer celle D5
Sheet1.Range("D5").Value = Sheet1.Range("D5").Value + Cells(lRow, lCol).Value
End Select
'næste kolonne
Next lCol
'næste række
Next lRow
'aktiver skærmopdatering
Application.ScreenUpdating = True
End Sub
Med venlig hilsen, Nicolai