• 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.

Afhankelijk celwaarde in relatie tot getallen in andere kolommen

Status
Niet open voor verdere reacties.

jv345

Gebruiker
Lid geworden
25 mrt 2007
Berichten
167
Graag wil ik het volgende issue onder de aandacht brengen.

In een werkblad staan in kolom 5 (via datavalidatie) getallen.
Deze getallen bestaan uit 6 cijfers.

In kolom 10 t/m 16 worden bedragen ingevoerd.

Nu moet er een soort van consistentie gemaakt worden tussen kolom 5 en de kolommen 10 t/m 16.

Als de waarde van een cel in kolom 5 kleiner is dan 80000 EN er wordt een negatief bedrag ingevoerd in kolom 10 (of 11 t/m 16) dan dient er een messagebox getoond te worden met de opmerking: Er mag niet negatief geboekt worden.

Tevens geldt dat indien de waarde van een cel in kolom 5 groter is dan 80000 En er wordt een positief ingevoerd in kolom 10 ( of 11 t/m 16) dan dient een messagebox getoond te worden met de opmerking: Er mag niet positief geboekt worden.

Het leek niet lastig maar ik ben ondertussen wel wijzer geworden. Ik krijg het niet voor elkaar.
Ik hoop dat het issue duidelijk is.
Wie weet een stukje code ( via voorwaardelijke opmaak mis ik de boxen namelijk) voor mij.
 
Jv345, Deze code kan je plaatsen in de module van de sheet waar de code voor geldt.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Column >= 10 And Target.Column <= 16 Then
        If Target.Value < 0 And Cells(Target.Row, 5) < 800000 Then
            MsgBox "Er mag niet negatief geboekt worden", vbOKOnly, "Foute waarde"
            Target.Value = ""
            Target.Select
      ElseIf Target.Value > 0 And Cells(Target.Row, 5) > 800000 Then
            MsgBox "Er mag niet positief geboekt worden", vbOKOnly, "Foute waarde"
            Target.Value = ""
            Target.Select
        End If
    End If
    
End Sub
Besef wel dat deze code slechts 1 kant uit werkt. Als je cellen in de kolommen 10 t/m 16 al gevuld zijn met waarden zal er niets meer gebeuren als je het validatie-getal in kolom 5 verandert.

Groet, Leo
 
Laatst bewerkt:
leo,

Het werkt. Wat heb ik het mezelf moeilijk gemaakt. Ik kwam namelijk iedere keer in een loop terecht.

Je laatste opmerking is erg slim. Daar had ik niet aan gedacht.
Heeft nu wel mijn aandacht.

Nogmaals mijn hartelijke dank.
Ik zal de vraag sluiten.
 
Dat kan ook eenvoudig zonder vba, al kun je dan slechts 1 soort bericht weergeven, maar dat moet voldoende zijn. Uitgaande van juiste invoer in kolom 5, wordt de invoer in de kolommen 10 t/m 16 gecontroleerd. maar je kunt die controle uiteraard uitbreiden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan