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

Wie kan mij helpen

Status
Niet open voor verdere reacties.

r2thed

Gebruiker
Lid geworden
23 mei 2007
Berichten
75
Hoi,

Ik kom er nog steeds niet helemaal uit, ik vindt dat ik nog teveel handmatig moet knippen en plakken en daarbij gaat nogal wat mis. Misschien hebben jullie een oplossing waarbij het makkelijker en sneller gaat.

De berekeninge uit 'H' moet in:

'J' wanneer in F Doorloop staat.
'I' in alle andere gevallen.
Ook berekeningen met 2 maal * moeten worden meegenomen, hiervoor had ik ook een formule alleen hoop ik dat deze kleiner kan, zo niet, ja dan heb ik pech!
 

Bijlagen

Niemand?:(

Zou mooi zijn als hiervoor een oplossing is:thumb:

Alvast bedankt!
 
Geduld is een schone deugd. De meesten zijn aan het werk of hebben examens, snap je?
 
Geduld is een schone deugd. De meesten zijn aan het werk of hebben examens, snap je?

Daar heb je gelijk in! Sorry, maar heb eind van de middag bespreking met collega's en zou dan mijn opstel wat ik tot dan toe had voorleggen. En het ziet er tot nu toe best goed uit, alleen mis ik dus nog wat puntjes om hem net iets beter te krijgen, zou mooi zijn als ik dat er vandaag nog in kon krijgen, ben al de hele morgen bezig geweest maar het lukt me niet echt!

Maar ik zal wat meer geduld hebben:o
 
OK, in ruil voor meer geduld en goede topictitels (voor al jouw vragen!), geef ik je nu de oplossing. Met simpelere formule. Wel in VBA.

In VBE, doe Invoegen > Module, en plak de volgende code:

Code:
Function Uitkomst(rngForm As Range, Fkolom As String, Kolomnr As Integer)
    
    Dim i As Integer, numb As Double, arrBerekGespl
    If Fkolom = "Doorloop" Then
        Uitkomst = IIf(Kolomnr = 10, Berekening(rngForm.Value), "")
    Else
        Uitkomst = IIf(Kolomnr = 9, Berekening(rngForm.Value), "")
    End If
End Function

Function Berekening(s As String)
    
    Dim i As Integer, numb As Double, arrBerekGespl
    Berekening = 1
    arrBerekGespl = Split(Replace(s, ".", ""), "*")
    For i = LBound(arrBerekGespl) To UBound(arrBerekGespl)
        If InStr(arrBerekGespl(i), "%") Then
            Berekening = Berekening * CDbl(Replace(arrBerekGespl(i), "%", "")) / 100
        Else
            Berekening = Berekening * CDbl(arrBerekGespl(i))
        End If
    Next
End Function

Het zijn 2 nieuwe functies, waarvan er 1 de andere aanroept.

Zet in cel I5:

=Uitkomst($H5;$F5;KOLOM())

Doorvoeren naar rechts en beneden.

Het kan een onbeperkt aantal * stukken in de formule aan.

Wigi
 
Hierbij,

Zoals ik denk dat je het wil hebben !

Joske

Bedankt:D

Er zaten een paar foute verwijzingen in die heb ik aangepast, nu heb ik alles geprobeert door te trekken tot rij 500, alleen lukt mij dit niet op de juiste manier bij kolom I en J, dan krijg ik namelijk over het '€' teken en een - daarvoor...

Ik zou graag willen dat de kolommen I en J leeg blijven totdat ik in H een formule type en dan aan de hand van of er in F doorloop of niet in staat dat het bedrag dan in I of J komt.

:o
 

Bijlagen

OK, in ruil voor meer geduld en goede topictitels (voor al jouw vragen!), geef ik je nu de oplossing. Met simpelere formule. Wel in VBA.

In VBE, doe Invoegen > Module, en plak de volgende code:

Code:
Function Uitkomst(rngForm As Range, Fkolom As String, Kolomnr As Integer)
    
    Dim i As Integer, numb As Double, arrBerekGespl
    If Fkolom = "Doorloop" Then
        Uitkomst = IIf(Kolomnr = 10, Berekening(rngForm.Value), "")
    Else
        Uitkomst = IIf(Kolomnr = 9, Berekening(rngForm.Value), "")
    End If
End Function

Function Berekening(s As String)
    
    Dim i As Integer, numb As Double, arrBerekGespl
    Berekening = 1
    arrBerekGespl = Split(Replace(s, ".", ""), "*")
    For i = LBound(arrBerekGespl) To UBound(arrBerekGespl)
        If InStr(arrBerekGespl(i), "%") Then
            Berekening = Berekening * CDbl(Replace(arrBerekGespl(i), "%", "")) / 100
        Else
            Berekening = Berekening * CDbl(arrBerekGespl(i))
        End If
    Next
End Function

Het zijn 2 nieuwe functies, waarvan er 1 de andere aanroept.

Zet in cel I5:

=Uitkomst($H5;$F5;KOLOM())

Doorvoeren naar rechts en beneden.

Het kan een onbeperkt aantal * stukken in de formule aan.

Wigi

Oei, klinkt ingewikkeld! maar ik ga dit nu proberen.... Hoop dat het me lukt en dat dit zorgt voor de gewenste resultaten!:)
 
Hi,

De - en de € opmaak kan je oplossen door in de cellen voorwaardelijke opmaak de kleurtekst op wit te zetten.

Maar de code van Wigi is toch wel een heel stuk performanter !

Joske
 
OK, in ruil voor meer geduld en goede topictitels (voor al jouw vragen!), geef ik je nu de oplossing. Met simpelere formule. Wel in VBA.

In VBE, doe Invoegen > Module, en plak de volgende code:

Code:
Function Uitkomst(rngForm As Range, Fkolom As String, Kolomnr As Integer)
    
    Dim i As Integer, numb As Double, arrBerekGespl
    If Fkolom = "Doorloop" Then
        Uitkomst = IIf(Kolomnr = 10, Berekening(rngForm.Value), "")
    Else
        Uitkomst = IIf(Kolomnr = 9, Berekening(rngForm.Value), "")
    End If
End Function

Function Berekening(s As String)
    
    Dim i As Integer, numb As Double, arrBerekGespl
    Berekening = 1
    arrBerekGespl = Split(Replace(s, ".", ""), "*")
    For i = LBound(arrBerekGespl) To UBound(arrBerekGespl)
        If InStr(arrBerekGespl(i), "%") Then
            Berekening = Berekening * CDbl(Replace(arrBerekGespl(i), "%", "")) / 100
        Else
            Berekening = Berekening * CDbl(arrBerekGespl(i))
        End If
    Next
End Function

Het zijn 2 nieuwe functies, waarvan er 1 de andere aanroept.

Zet in cel I5:

=Uitkomst($H5;$F5;KOLOM())

Doorvoeren naar rechts en beneden.

Het kan een onbeperkt aantal * stukken in de formule aan.

Wigi

Hoe kom ik in VBE? heb daar nog weinig kaas van gegeten :confused:
Bij excel>invoegen staat geen module tussen......
Ik ben ook zo'n NOOB!:rolleyes:
 
Hi,

De - en de € opmaak kan je oplossen door in de cellen voorwaardelijke opmaak de kleurtekst op wit te zetten.

Maar de code van Wigi is toch wel een heel stuk performanter !

Joske

Oke, ja maar dat zag ik pas nadat ik mijn reactie op jouw bericht had geplaatst Joske! Dus ben nu aan het proberen Wigi's methode toe te passen....
 
Alt-F11 eerst doen

Dan Invoegen > Module en de code daar plakken.
 
Oke, ik heb VBE gevonden en de code ingevuld, als ik de formule die jij me gaf invul komt overal €1,- te staan....
 
Als ik dat doe voor jow bestandje, dan werkt het wel.
 
Als ik dat doe voor jow bestandje, dan werkt het wel.

Dit heb ik er van weten te maken...

Bij I gaat hij vanaf rij 15 de fout in.

Kolom P klopt ook nog niet daar hoeft alleen 120 mnd. te staan als er iets in J staat.
Ditzelfde geld voor AB
 

Bijlagen

Dat moet je zelf nog doen in de code van de functie Uikomst.
Wat vul ik in de code dan in?


Test op "" en niet op >0.
Als ik de >0 verwijder en daar '' '' invul geeft hij een foutmelding weer......
Wigi
 
Doe jij eigenlijk zelf ook moeite? ALS typen in de helpfunctie is echt niet veel werk hoor.

In P5:

=ALS(J5="";"";120)

Wigi
 
Doe jij eigenlijk zelf ook moeite? ALS typen in de helpfunctie is echt niet veel werk hoor.

In P5:

=ALS(J5="";"";120)

Wigi

Sorry:(

Ik snap er zelf echt weinig van als ik het zelf kon dan zou ik dat echt doen!

Kolom P doet het nu goed, kolom O deed het ook niet goed maar heb ik nu opgelost via zelfde manier als jij aangaf bij P.... Ik leer het al:rolleyes:
Edit:
Dit heb ik nu ook bij AB gedaan, het >0 veranderd....

Alleen begrijp ik niet waarom hij in kolom 'I' €1,- aangeeft terwijl er niks H en F staat?
Edit:
Sorry

:confused:
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan