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.
27. november 2008 - 21:36
#2
tak, kigger lige på den, jeg har ellers søgt herinde, den faldt jeg ikke over.
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
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