Avatar billede rosco Novice
27. november 2008 - 21:04 Der er 4 kommentarer og
1 løsning

Avanceret betinget formatering

Kan man dette i VBA
Hvis A6 = P  så skal G6 til K6 farves gul
Hvis A6 = L  så skal G6 til K6 farves grøn
osv

helt ned til række 95

betinget formatering kan gøre det, men jeg skal bruge mindst 5 farver.
Avatar billede mugs Novice
27. november 2008 - 21:11 #1
Kan du strikke denne sammen til dir eget brug. Fundet i vidensbasen:

http://www.eksperten.dk/spm/239089
Avatar billede rosco Novice
27. november 2008 - 21:36 #2
tak, kigger lige på den, jeg har ellers søgt herinde, den faldt jeg ikke over.
Avatar billede rosco Novice
06. december 2008 - 23:54 #3
Tak for tippet mugs, det hjalp mig videre til en løsning, denne.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
'marker celle A6:A95
Range("A6:A95").Select
For Each C In Selection.Cells
'hvis en celle i kolonne A indeholder et l farves kolonne G til k i samme række grøn.
    If C.Value = "l" Then
        'farv cellen i kolonne I med farve 3
        C.Offset(0, 6).Interior.ColorIndex = 4
        C.Offset(0, 7).Interior.ColorIndex = 4
        C.Offset(0, 8).Interior.ColorIndex = 4
        C.Offset(0, 9).Interior.ColorIndex = 4
        C.Offset(0, 10).Interior.ColorIndex = 4
    ElseIf C.Value = "p" Then
'hvis en celle i kolonne A indeholder et p farves kolonne G til k i samme række gul.
        C.Offset(0, 6).Interior.ColorIndex = 6
        C.Offset(0, 7).Interior.ColorIndex = 6
        C.Offset(0, 8).Interior.ColorIndex = 6
        C.Offset(0, 9).Interior.ColorIndex = 6
        C.Offset(0, 10).Interior.ColorIndex = 6
    ElseIf C.Value = "u" Then
'hvis en celle i kolonne A indeholder et p farves kolonne G til k i samme række orange.
        C.Offset(0, 6).Interior.ColorIndex = 46
        C.Offset(0, 7).Interior.ColorIndex = 46
        C.Offset(0, 8).Interior.ColorIndex = 46
        C.Offset(0, 9).Interior.ColorIndex = 46
        C.Offset(0, 10).Interior.ColorIndex = 46
    Else
        'farv celleen i kol. I med farve 5
        C.Offset(0, 6).Interior.ColorIndex = 0
        C.Offset(0, 7).Interior.ColorIndex = 0
        C.Offset(0, 8).Interior.ColorIndex = 0
        C.Offset(0, 9).Interior.ColorIndex = 0
        C.Offset(0, 10).Interior.ColorIndex = 0
    End If
   
Next
Range("A1").Select
End Sub

læg venligst et svar
Avatar billede mugs Novice
07. december 2008 - 00:09 #4
Blinde høns finder også korn - Tak for point :o)
Avatar billede excelent Ekspert
07. december 2008 - 11:03 #5
Den kan koges ned til følgende - og så trikker den kun ved ændring i A6:A96

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A6:A95")) Is Nothing Then Exit Sub

For Each C In Range("A6:A95")
Range("G" & C.Row & ":K" & C.Row).Interior.ColorIndex = 0
If C.Value = "l" Then Range("G" & C.Row & ":K" & C.Row).Interior.ColorIndex = 4
If C.Value = "p" Then Range("G" & C.Row & ":K" & C.Row).Interior.ColorIndex = 6
If C.Value = "u" Then Range("G" & C.Row & ":K" & C.Row).Interior.ColorIndex = 46
Next
Range("A1").Select

End Sub
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