Avatar billede jath08ac Forsker
12. juli 2016 - 14:25 Der 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.

Håber at i kan hjælpe.
Avatar billede excelent Ekspert
12. juli 2016 - 14:33 #1
hvis dine data starter i række 2

=OG(X2<>0;X2=$W2)
Avatar billede jath08ac Forsker
12. juli 2016 - 15:24 #2
@Excelent
Nævnte formel er da ikke til VBA?
Avatar billede store-morten Ekspert
12. juli 2016 - 16:44 #3
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 <>
Avatar billede excelent Ekspert
12. juli 2016 - 17:10 #4
Som morten rigtigt skriver, skal det naturligvis være <> sidst i formlen.
Hvorfor vil du have en vba løsning ?
Avatar billede excelent Ekspert
12. juli 2016 - 19:14 #5
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
Avatar billede store-morten Ekspert
12. juli 2016 - 19:48 #6
Denne sætter Betinget formatering

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
Avatar billede jath08ac Forsker
13. juli 2016 - 09:04 #7
@ excelent

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?
Avatar billede excelent Ekspert
13. juli 2016 - 09:17 #8
ja vi må nok nulstille evt. farvede celler i starten af koden
vender tilbage efter rundstykkerne :-)
Avatar billede excelent Ekspert
13. juli 2016 - 09:18 #9
Skal det stadig være baggrund der skal farves eller er det værdierne ?
Avatar billede jath08ac Forsker
13. juli 2016 - 09:20 #10
Det er meget fornemt. Mange tak for det.
Det skal stadig være baggrunden :-)
Avatar billede excelent Ekspert
13. juli 2016 - 09:41 #11
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

OBS : Ret X2:AP29  til aktuel område
Avatar billede jath08ac Forsker
13. juli 2016 - 09:54 #12
Det er meget fornemt :-)
Mange tak for hjælpen
Avatar billede excelent Ekspert
13. juli 2016 - 10:07 #13
velbekom :-)
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