Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Als waarde verandert, celopmaak veranderen

361 views
Skip to first unread message

Didier

unread,
Oct 31, 2002, 9:36:06 AM10/31/02
to
Hallo,

Ik kom er niet helemaal uit:
Ik wil twee waarden met elkaar vergelijken, bijv 80% is
geraamd en 90% is behaald. Dan is het "Bereikt" (bij
groter of gelijk aan) en moet de celkleur groen zijn.
Anders dan moet het "Niet behaald" zijn, celkleur rood.

Ik heb de volgende code die niet werkt:

Private Sub Worksheet_Calculate()
If Range("H4").Offset(0, -3).Value >= Range
("J4").Offset(0, -1) Then
Range("K4") = "Bereikt"
With Range("K4").Interior
.ColorIndex = 4
.Pattern = xlSolid
End With
ElseIf Range("H4").Offset(0, -3).Value < Range
("J4").Offset(0, -1) Then
Range("K4") = "Te laag"
With Range("K4").Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
End If
End Sub

Ik kies voor calculate, maar heb selectionchange ook
geprobeerd. Want als ik iets wijzig in de waarden moet de
kleur ook mee veranderen (tekst ook). Ik gebruik relatieve
verwijzing omdat ik K4 als voorbeeld neem. Het moeten
meer cellen worden, dan gebruik ik wel een variabele. Maar
dit werkt nog niet...

Wie helpt mij?

Bij voorbaat dank!

Ingrid

unread,
Oct 31, 2002, 10:11:10 AM10/31/02
to
Het is mij niet duidelijk waarom je hiervoor VBA gebruikt. Je kan ook
gebruik maken van een formule en voorwaardelijke opmaak.

formule in K4:
=ALS(EN(H4<>"";J4<>"");ALS(H4>=J4;"Bereikt";"Te laag");"")

Zodra in H4 én J4 een waarde staat, verschijnt de waarde "Bereikt" of "Te
laag" in K4

ga nu naar Opmaak - Voorwaardelijke opmaak
vul de volgende waarden in:
Celwaarde is -- gelijk aan -- ="Bereikt"
wijzig de Opmaak en klik op Toevoegen
vul nu volgende waarden in:
Celwaarde is -- gelijk aan -- ="Te laag"
pas ook hiervoor de opmaak aan en klik op OK

Ingrid

Didier schreef:

Ingrid

unread,
Oct 31, 2002, 12:31:03 PM10/31/02
to
Wel, als je liever het warm water terug wilt uitvinden kan het ook met deze
macro ;-)

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngIsect, r As Double
Set rngIsect = Intersect(Target, [H:J])
If rngIsect Is Nothing Or Target.Column = 9 Then Exit Sub
r = Target.Row
If Cells(r, 8) <> "" And Cells(r, 10) <> "" Then
If Cells(r, 8) >= Cells(r, 10) Then
Cells(r, 11) = "Bereikt"
With Cells(r, 11).Interior


.ColorIndex = 4
.Pattern = xlSolid
End With
Else

Cells(r, 11) = "Te laag"
With Cells(r, 11).Interior


.ColorIndex = 3
.Pattern = xlSolid
End With
End If

Else
Cells(r, 11) = ""
With Cells(r, 11).Interior
.ColorIndex = 2


.Pattern = xlSolid
End With
End If
End Sub

Ik zou echter eerder voor de eerste oplossing kiezen, want een macro zal het
document meer vertragen dan formules en voorwaardelijke opmaak.

Ingrid

Didier schreef:
> Tjsa, waarom vba... Omdat ik daar in MS Acces ook mee
> werk, en ik het leuk vind. Ik neem aan dat dit ook met VBA
> te verwezenlijken is... Puur resultaatgericht werkt dit
> prima!!! Hartstikke bedankt... Excel heeft nog steeds
> geheimen voor mij, maar wel minder.
>
> Heb je site bezocht... Leuk en interessant!
>
> Dank je wel voor je info... Deze nieuwsgroep bestaat
> dankzij jou inzet! TOF!
>
> Groetjes,
> Didier
>
>
>> -----Oorspronkelijk bericht-----

>> .


Ingrid

unread,
Oct 31, 2002, 1:13:26 PM10/31/02
to
Een kleine correctie, ipv ColorIndex = 2 kan er beter ColorIndex = xlNone
staan.

Ingrid

Ingrid schreef:

Didier

unread,
Oct 31, 2002, 11:53:37 AM10/31/02
to
Tjsa, waarom vba... Omdat ik daar in MS Acces ook mee
werk, en ik het leuk vind. Ik neem aan dat dit ook met VBA
te verwezenlijken is... Puur resultaatgericht werkt dit
prima!!! Hartstikke bedankt... Excel heeft nog steeds
geheimen voor mij, maar wel minder.

Heb je site bezocht... Leuk en interessant!

Dank je wel voor je info... Deze nieuwsgroep bestaat
dankzij jou inzet! TOF!

Groetjes,
Didier


>-----Oorspronkelijk bericht-----

>.
>

Didier

unread,
Nov 1, 2002, 2:44:25 AM11/1/02
to
Jemig, ik dacht dat het wel iets simpeler zou zijn...
Je hebt gelijk, ik hou mij bij de eerste oplossing.

Wel tof dat je toch ook nog even de macro code geeft...

Thnx a boel!

Didier


>-----Oorspronkelijk bericht-----

>.
>

0 new messages