• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Twee waarden vergelijken

Status
Niet open voor verdere reacties.

realpix

Gebruiker
Lid geworden
18 jan 2008
Berichten
5
Ik heb een code, die bekijkt of de in een cel ingevulde waarde correct is:

Code:
For Each c In Range("E68")
If c > 10 Then
MsgBox "Kt/V inclusief restfunctiewaarde te laag."
c.Select
End If
Next

Nu moet dit iets uitgebreid worden, maar ik weet niet helemaal hoe.

Als in cel E68 de waarde Eprex is, dan mag de waarde in cel D68 niet boven de 30.000 uitkomen. Maar als in cel E68 Aranesp staat, mag de de waarde in cel D68 niet boven de 200 uitkomen. Hiervan moet een melding komen, net als de code hierboven. Weet iemand hoe dit moet?

Alvast bedankt!
 
Waarom zou je dit niet "gewoon" met valideren oplossen, of zijn er nog anderen criteria / worden de gegevens niet met de hand ingevoerd?
 
Laatst bewerkt:
Code:
Private Sub Worksheet_change(byval target as range)
    application.screenupdating = false
        if range("E68").value  = "Eprex" and range("d68").value > 30000 then
            ......
            elseif range("e68").value = "Aranesp" and range("d68").value > 200 then
           ......
        end if
    application.screenupdating = true
end sub

Even uit de mouw geklopt, maar zie niet in dat het niet zou werken. ;)
 
Realpix, Is het codeblokje een onderdeel van een groter codeblok? Ik snap anders niet waar om je een For...Each-lus gebruikt hebt. Je 'range' bestaat immers maar uit slechts 1 cel? Dit doet hetzelfde maar is dan korter...
Code:
If Range("E68").value > 10 Then
      MsgBox "Kt/V inclusief restfunctiewaarde te laag.",vbOkOnly,"Foute waarde"
      Range("E68").Select
End If

Groet, Leo
 
Code:
Private Sub Worksheet_change(byval target as range)
    application.screenupdating = false
        if range("E68").value  = "Eprex" and range("d68").value > 30000 then
            ......
            elseif range("e68").value = "Aranesp" and range("d68").value > 200 then
           ......
        end if
    application.screenupdating = true
end sub

Even uit de mouw geklopt, maar zie niet in dat het niet zou werken. ;)

Het werkt super! Hartstikke bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan