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

Variabele validatie in een celrange ??

Status
Niet open voor verdere reacties.

BennyBang

Gebruiker
Lid geworden
10 jan 2006
Berichten
24
Beste forummers, Helpmij,

Ik heb in cel A3 een dynamische variabele.
Deze wordt gebruikt als validatie waarde in cel B3 t/m F3

Ofwel A3=10, validatiewaarde voor cel B3 t/m F3 is maximaal 10

Bij invoer van bv 4 in cel B3 mag de invoer in cel C3 t/m F3 niet hoger dan 6 zijn.

Met gegevensvalidatie werkt dit niet omdat het ingevoerde getal meteen meeteld als validatiewaarde.

Wie wil mij hiermee helpen om dit op te lossen. Mag ook in vba.

In het voorbeeld hebben cel B3 t/m F3 cel A3 als validatie.
Bekijk bijlage Validatie test.xlsx

Alvast bedankt voor het lezen van de vraag.
 
Super bedankt Rebmog. Lukt me al twee dagen niet. Wat een frisse kijk al niet doet.

Ik was te snel. De waarde 10 in de formule moet variabel zijn ofwel waarde cel A3

=SOM($B3:$F3)<=10

Toch bedankt.
 
Laatst bewerkt:
Maak er dan van =SOM($B3:$F3)<=$A$3

Rebmog
 
Just dan werkt de validatie niet goed wat het probleem ook is.
 
Wat werkt er dan niet goed? Als ik in A3 het getal 10 invoer, dan kan ik met de validatieformule =SOM($B3:$F3)<=$A$3 toch geen getallen invoeren in B3:F3 waarbij de som boven de 10 uitkomt?

Rebmog
 
Laatst bewerkt:
Als je in A3 10 invoert kun door de validatie in de cellen B3:F3 geen getal hoger als 5 invoeren want dan geeft deze de foutmelding.
Let op de waarde in cel A3 is 10 min de som in de cellen B3:F3 ofwel =10-som(B3:F3)

Het werkt natuurlijk wel als A3=10 ofwel een vaste waarde
 
Als je als validatieformule =SOM($B3:$F3)<=10 gebruikt en je laat de formule in A3 staan, dan wordt in A3 de maximale waarde weergegeven die ingevoerd kan worden in B3:F3. Als je het maximum in een cel wilt zetten dan kun je =SOM($B3:$F3)<=$A$3 gebruiken, maar dan zul je de 10 als vaste waarde in moeten voeren (of met een formule, maar die formule moet dan een waarde geven die niet afhankelijk is van de waarden in B3:F3). Het is maar net waar je voorkeur naar uit gaat.

Rebmog
 
En dat is is mijn vraag. Met welke formule kan ik dit bereiken eventueel ook in VBA

In ieder geval bedankt voor je reacties.

Benny.
 
met macro:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Intersect([B3:F3], Target) Is Nothing Then Exit Sub
    With Target.Validation
        .Delete
        .Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, _
             Operator:=xlLessEqual, Formula1:="=$A$3"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = "Het geheel van B3:F3 mag niet meer zijn dan 10 " & Chr(10) & Chr(10) & _
                    "of je hebt meer dan " & [A3] & "  ingevuld" & Chr(10) & Chr(10) & _
                    "of je hebt niet een geheel getal ingevuld"
        .ShowInput = True
        .ShowError = True
    End With
End Sub
 

Bijlagen

Beste Sylvester,

Deze code in vba werk mooi maar.

op het moment dat ik in B3 een waarde van 3 invul wordt de validatie waarde in A3=7. Als ik nu in C3 de waarde 5 invult wordt de validatie waarde 2 en dan gaat het mis.
 
Beste Sylvester,

Is het mogelijk om de maximale waarde in A3 eenmalig in cel A1 vast te zetten. Dan zou deze formule wel kunnen werken.
Misschien is het mogelijk of de waarde van A1 vast te zetten (resetten) indien de som(B3:F3)=0
Ofwel
A1 =ALS(SOM(B3:F3)=0;A3)
Dit lukt in combinatie met jou celvalidatie. Nu vraag ik of we dit ook ik jou VBA formule kunnen inpassen.
 
Als de som(B3:F30)=0 dan is A1=A3

A3 bevat een bestaat uit een willekeurig getal heel getal X met als voorbeeld A3=X-(som(B3:F3). Hierdoor kan de het totaal in de range B3:F3 nooit groter zijn dan X

Ik heb nu een werkend voorbeeld.

Misschien wil je nog kijken of dit in VBA te maken is.
Zoals je kunt zien zijn de velden onder de weeknummers op basis van de variabele validatie maximaal tot de validatie in te vullen.

Bekijk bijlage Validatie test 2.xlsx
 
Laatst bewerkt:
nog een keer een vraag over post 14:
je schrijft:
A1 =ALS(SOM(B3:F3)=0;A3)
bij een ALS hoort een waarde als de voorwaarde waar is en ook een waarde als de voorwaarde onwaar is.
die laatste ontbreekt.

in A1 zet je het maximum voor som(B3:F3).
dit doe je nu met de hand.

moet de waarde in A1 automatisch ingesteld worden? zo ja, op welke waarde??
 
Beste Sylvester,

Het voorbeeld in post 16 werkt naar behoren. Ik kan hiermee verder zeker dankzij ons contact.
Ik het voorbeeld kun je zien dat de status van A1 variabel is.

Wat betreft mijn vraagstelling hebben we het antwoord gevonden en opgelost waarvoor dank.

Benny.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan