12. juli 2016 - 14:25Der er
12 kommentarer og 1 løsning
VBA Udfyld farve hvis værdi er forskellig fra
Hej, Jeg har en Excel fil, hvor jeg har en række værdier som fremgår af kolonne W til AP, hvor jeg har lavet betinget formatering, hvor cellerne i kolonne X til AP får en farve, hvis værdien er forskellig fra værdien i kolonne W.
Det tog en del tid at lave denne øvelse, så tænker, at det eventuel kan løses vha. en makro.
Kunne god tænke mig, at værdierne i kolonne X til AP får en farve, hvis værdien er forskellig fra værdien i kolonne W. Hvis der står nul i kolonnerne X til AP, skal denne ikke have en farve, selvom værdien er forskellig fra kolonne W.
Nej. men det burde være hurtigt, med betinget formatering;-)
Marker hele området X:AP betinget formatering Brug en formel til at bestemme, hvilken celler der skal formateres Formlen er: =OG(X2<>0;X2<>$W2) Vælg farve
Eller: Marker X2 betinget formatering Brug en formel til at bestemme, hvilken celler der skal formateres Formlen er: =OG(X2<>0;X2<>$W2) Vælg farve Marker X2 --> formatpensel Marker X2 til AP10 (eller så langt ned du har brug for)
"Udfyld farve hvis værdi er forskellig fra" Bemærk jeg har rettet Excelent´s = tegn i formlen til <>
Denne farver baggrund men kan ændres til at farve værdier i stedet for
Sub xFormat() For rk = 2 To 30 ' 30 rækker ret til aktuel For kol = 24 To 42 ' kolonne X til AP If Cells(rk, kol) <> Cells(rk, "W") And Cells(rk, kol) <> 0 Then Cells(rk, kol).Interior.ColorIndex = 50 End If Next Next End Sub
Sub SætBetingetFormatering() Range("X2:AP15").Select '<-- Tilpasses dit område Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _ "=OG(X2<>0;X2<>$W2)" Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority With Selection.FormatConditions(1).Interior .Color = 65535 End With End Sub
Hvis jeg f.eks. ændre i værdien i celle AC11, efter jeg har kørt makroen, og værdien nu stemmer til værdien i W11, så fortsætter AC11 at være markeret. Kan man tilføje til koden, at den skal tage højde sådanne ændringer?
Sub xFormat() Range("X2:AP29").Interior.ColorIndex = xlNone For rk = 2 To 30 For kol = 24 To 42 If Cells(rk, kol) <> Cells(rk, "W") And Cells(rk, kol) <> 0 Then Cells(rk, kol).Interior.ColorIndex = 44 End If Next Next End Sub
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.