Avatar billede daki Juniormester
25. september 2006 - 17:06 Der er 7 kommentarer og
1 løsning

Tilpas macro

kan nogen hjælpe mig med at rette denne macro til, så den opfylder følgende krav.

1. hvis kolonne I er mindre end kolonne G, kolonne I = rød tekst
2. hvis kolonne I er optil 10% større end kolonne G, kolonne I = greøn tekst
3. hvis kolonne I er mere end 10% større end kolonne G, kolonne I = blå tekst

Range("G2").Select
Range(Selection, Selection.End(xlDown)).Select
For Each C In Selection.Cells
If C.Value > C.Offset(0, 2).Value Then
C.Offset(0, 2).Font.ColorIndex = 3
ElseIf (C.Value + (C.Value / 10)) < C.Offset(0, 2).Value Then
C.Offset(0, 2).Font.ColorIndex = 5
Else
C.Offset(0, 2).Font.ColorIndex = 8
End If
Next
Avatar billede kabbak Professor
25. september 2006 - 17:22 #1
det behøver du ikke en makro til, det kan gøres i betinger formatering, den kan tage 3 kriterier
Avatar billede kabbak Professor
25. september 2006 - 17:23 #2
betinger = betinget
Avatar billede kabbak Professor
25. september 2006 - 17:50 #3
1.  =I3<G3

2. =OG(I3<=(G3*1,1);I3>=G3)

3. =I3>G3*1,1

Marker I kolonnen fra I2 og til du ikke vil have flere.
På menulinien

Formater Betinget formatering

Vælg formlen er

skriv =I3<G3
sæt formatet
Vælg tilføj
forsæt på samme måde
Avatar billede kabbak Professor
25. september 2006 - 17:51 #4
Hov, hvor jeg skriver I3 og G3, skal det være I2 og G2
Avatar billede daki Juniormester
26. september 2006 - 09:04 #5
Da der er tale om et filindtræk og kolonne G ændres kan betinget formattering ikke bruges :-(
formlerne kommer til at se sådan ud:
1.  =I3<#reference!
2. =OG(I3<=(#reference!*1,1);I3>=#reference!)
3. =I3>#reference!*1,1
Avatar billede daki Juniormester
26. september 2006 - 09:22 #6
Jeg indspillede en macro, som jeg indsatte i den eksisterende macro.
Grænsen er ændret til 30%, derfor *1,3

Sub betinget-formatering()
Range("I2:I65536").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=I2<G2"
Selection.FormatConditions(1).Font.ColorIndex = 3
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=OG(I2<=(G2*1,3);I2>=G2)"
Selection.FormatConditions(2).Font.ColorIndex = 10
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=I2>G2*1,3"
Selection.FormatConditions(3).Font.ColorIndex = 5
End Sub
Avatar billede kabbak Professor
26. september 2006 - 09:37 #7
Ok, så du laver den betingede formatering via makro,som du kører efter filindtræk og bruger formlerne der.
Avatar billede daki Juniormester
26. september 2006 - 09:45 #8
Ja, nemlig ja.
Sammen med en hel del anden formatering og "save as".
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