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

code verkorten

Status
Niet open voor verdere reacties.

Friend

Verenigingslid
Lid geworden
31 jan 2009
Berichten
1.128
Beste forummers,

Hoe kan deze code korter of beter geschreven worden?

Code:
=ALS(N6="";"";ALS(EN(M6="VRB";N6="");"";ALS(EN(M6="VRB";O6="");"";ALS(EN(M6="VRB";P6="");"";ALS(EN(M6="vrb";N6/O6/P6>=0,19);0,19;ALS(M6="VRB";N6/O6/P6;""))))))

Friend
 
Laatst bewerkt:
Ja.

Maar ik heb geen zin om het zonder bestandje toe te lichten. In de eerste voorwaarde toets je al of N6 leeg is dan heeft het weinig nut om dit nogmaals te doen in de tweede voorwaarde.
 
Beste VenA,

Hartelijk dank voor je reactie:thumb:

Excuus hierbij het bestandje.

Als toelichting iemand kan een vaste of variabele vergoeding hebben.
Variabele houdt in alleen benzinekosten. Echter deze vergoeding mag nooit boven de vaste km vergoeding uitkomen. Dan geldt namelijk het bedrag voor de vaste vergoeding.

Friend
 

Bijlagen

  • ReisKostTest.xlsm
    12,4 KB · Weergaven: 34
Laatst bewerkt:
Friend, Even uit interesse... Volgens mij doet je formule WEL wat je wilt toch? Is het dan voor bijvoorbeeld een snelheids-probleem dat je deze wilt aanpassen?
 
Ginger,

Ja het werkt, alleen als een van de velden:

tankbon € aant liters verbruik

niet wordt ingevuld krijg ik een foutmelding

foutmelding.jpg

voor de "mijn" netheid wil ik dit afvangen.

Ongetwijfeld zullen de mensen op dit forum die er meer verstand van hebben dan ik een betere oplossing hiervoor weten.

Friend
 
Da's raar... Als ik net als in je voorbeeldplaatje de waarde van kolom 15 in je bijlage verwijder, hou ik lege cellen over en geen foutmeldingen...
Wat is daar anders in dan in het plaatje?
 
Ginger,

laatste regel, als er in kolom 13 "vrb" staat

Friend
 
Ik denk dat cel O6 "leeg" is gemaakt door een spatie in te tikken en op enter te drukken. Een veel gemaakte fout. Cel O6 is daarmee namelijk niet leeg maar bevat tekst. En door tekst kan je niet delen.

Volgens mij kan je formule als volgt worden:

Code:
=ALS(AANTAL(N6:P6)<3;"";ALS(M6<>"vrb";"";ALS(N6/O6/P6>=0.19;0.19;N6/O6/P6)))
 
Jan Karel,

Hartelijk dank voor je reactie:thumb:

Ik had cel O6 leeg gemaakt met DEL. Want ik ken het probleem met spatie enter.

Maar jouw aanpassing van de code werkt perfect. :) Alleen even veranderen van 0.19 naar 0,19. Maar dat komt waarschijnlijk door de taal versie.

als.aantal had ik niet aan gedacht, dus daar weer de kennis vergroot.

Hartelijk dank nogmaals.

Friend
 
Nee dat komt door de Windows instellingen van decimaalschedingsteken :)
 
VenA,

Mocht jij nog een leermoment voor mij hebben dat hoor ik het nog graag van je.

Friend
 
Is wellicht nog een optie:

PHP:
=(COUNT(N6:P6)=3)*(M6="vrb")*MIN(N6/O6/P6;0,19)
 
Snb,

Hartelijk dank voor je reactie:thumb:

PHP is toch code voor een webpage? Als ik jou code in excel plaats werkt dit niet.

Of moet dit op een speciale wijze gedaan worden?

Friend
 

Bijlagen

  • php.jpg
    php.jpg
    45,6 KB · Weergaven: 50
Mocht jij nog een leermoment voor mij hebben dat hoor ik het nog graag van je.
dat is natuurlijk geheel afhankelijk van wat je allemaal wil leren;) Even obv het voorbeeldje: het nummer van een kolom kan je ook opvragen door in een willekeurige cel in de kolom =KOLOM() te zetten.
 
Jan Karel,

Hartelijk dank voor je aanvulling :thumb:

Friend
 
VenA,

Hartelijk dank voor je leermoment :thumb:

Ik neem aan dat je hier iets van zegt vanwege de nummering in de eerste rij van de kolommen.

Ik had de nummering van de kolommen op de eerste rij gezet zodat ik vanuit de code van het userform weet welk kolomnummer ik moet opgeven.
BV:
Code:
 ws.Cells(iRow, 13).Value = Me.txtBrandstofBon.Value

Maar ik ben nog steeds benieuwd hoe jij de code in mijn vraagstelling geschreven zou hebben.

Friend
 
Ik denk dat ik er zoiets van had gemaakt.

PHP:
=IF(OR(M3<>"vrb";N3="";O3="";P3="");"";IF(N3/O3/P3>=0,19;0,19;N3/O3/P3))

If is ALS en OR is OF in de Nl versie.
 
VenA,

Hartelijk dank voor je antwoord:thumb:

Dat is een mooie code :) die de kennis weer vergroot.

Friend
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan