|
 | Celleformatering vha formel Fra : plobber | Vist : 381 gange 100 point Dato : 20-02-04 17:47 |
|
Hej.
Jeg har lavet en tabel med en masse tal. jeg har nu fire tal jeg gerne vil sammenligne i cellerne H1-4
Hvis H1 er størst skal cellen blive Rød, Hvis H2 er størst skal cellen blive Rød... osv.
Hvis H1 er anden størst skal cellen blive Gul, Hvis H2 er anden størst skal cellen blive Gul... osv..
håber i har fanget fidusen. Jeg har prøvet med betinget formatering, men kan ikk få den til at evaluerer flere celler.. men kun 1
| |
 | Kommentar Fra : berpox  |
Dato : 20-02-04 18:23 |
|
Du skal nok bruge noget visual basic makro til den opgave.
Nedenstående makro farver tallene i cellerne A1 til A5 røde hvis de er <5 og grønne hvis >=5
Du kan så lave en knap i excel der aktiverer makroen....
Kode Sub Farv_Celler()
' Celle A1 = 4
' Celle A2 = 5
' Celle A3 = 6
' Celle A4 = 8
' Celle A5 = 0
Dim value As Double
For n = 1 To 5
value = Range("A" & n)
If value < 5 Then
Range("A" & n).Select
With Selection.Interior
.ColorIndex = 3 'red
.Pattern = xlSolid
End With
End If
If value >= 5 Then
Range("A" & n).Select
With Selection.Interior
.ColorIndex = 4 'green
.Pattern = xlSolid
End With
End If
Next
End Sub |
håber det kan bruges...
| |
 | Kommentar Fra : berpox  |
Dato : 20-02-04 18:26 |
|
hmm...kandu ombryder tingene lidt sjovt....
Efter første "End If" skal der selvfølgelig være linieskift...
DU kan selvfølgelig sætte andre IF betingelser ind i koden så det bli'r som du har tænkt dig...
mvh Berpox.
| |
|
Du kan bruge funktionen LARGE(array,k) i nabocellerne til at finde rangordenen i H.
F.eks. i I1 til I4 indsætter du =LARGE($H$1:$H$4,1) og i J1 til J4 indsætter du =LARGE($H$1:$H$4,2)
Herefter laver du "conditional formatting" i dine H-celler hvor du blot siger at værdien skal være lig med I-cellen (H1=I1, H2=I2 osv.) og så er der tale om den største værdi derfor skal den være rød. Parallelt til værdierne i J-kolonnen og så skal værdien være gul - og ja så er resten hvis op til din fantasi.
Mvh.
Randomchoise
| |
 | Kommentar Fra : plobber |
Dato : 20-02-04 18:43 |
|
får en fejl der hedder Next without for
jeg er ikk så meget inde i VBscript
og så vidt jeg kan se så virker det heller ikke som jeg ville.. ville have noget i stil med:
2
5 bliver grøn = næststørst
3
8 bliver rød = størst
-1
dit tager bare og tjekker om de er større end 5 = rød ellers grøn hvis jeg ikk tager meget fejl ?
ved godt JEG skal lave det, men har desværre ingen forstand på VB... du får 200 point for at lave et eks. der virker. bare med rød. så må jeg prøve at finde ud af hvordan jeg så skal gøre.
| |
 | Kommentar Fra : berpox  |
Dato : 20-02-04 18:55 |
|
Ja ja - det ved jeg godt - jeg ved jo ikke helt hvad det er for betingelser du vil opstille.
Så det var bare et hint til hvordan du kunne gøre. Men selvfølgelig, du skal da nok lige sætte dig en smule ind i VB for at få det til at lykkes.
Jeg sender det igen herunder - denne gang uden KANDU's formattering og håber det går bedre: Der skal også være linieskift inden NEXT
Sub Farv_Celler()
' Celle A1 = 4
' Celle A2 = 5
' Celle A3 = 6
' Celle A4 = 8
' Celle A5 = 0
Dim value As Double
For n = 1 To 5
value = Range("A" & n)
If value < 5 Then
Range("A" & n).Select
With Selection.Interior
.ColorIndex = 3 'red
.Pattern = xlSolid
End With
End If
If value >= 5 Then
Range("A" & n).Select
With Selection.Interior
.ColorIndex = 4 'green
.Pattern = xlSolid
End With
End If
Next
End Sub
| |
 | Kommentar Fra : Kabbak |
Dato : 19-04-04 23:00 |
|
Betinget formatering:
1. Formlen er =PLADS(H1;$H$1:$H$4)=1
2. Formlen er =PLADS(H1;$H$1:$H$4)=2
første er største tal, anden er næst største.
kabbak
| |
 | Du har følgende muligheder | |
|
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
| |
|
|