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

optellen tot bepaald getal breikt wordt en verdergaan in volgende cel

Status
Niet open voor verdere reacties.

richee

Gebruiker
Lid geworden
23 okt 2009
Berichten
36
Hallo,

Ik zoek naar een formule die getallen uit een getallenreeks opteld, maar deze optelling moet gebeuren tot er een bepaald getal bereikt wordt (of zo dicht mogelijk) en dan verder gaat in de volgende cel vanaf waar hij gebleven is.

vb:
cel A1 10
cel A2 15
cel A3 8
cel A4 12
cel A5 12

maximaal is 26 dan wordt.

cel B1 25
cel B2 20
cel B3 12

hopelijk is het een beetje duidelijk en kunnen jullie mij helpen, alvast heel erg bedankt.
 
Richee,

Om e.e.a. te laten werken heb je wat VBA code nodig.
Code:
Sub Tellen_tot_Maximum()
Dim lRij As Long
Dim Tel As Variant
Dim Rij As Long

    lRij = Range("A65536").End(xlUp).Row
    Tel = Range("A1")
    Rij = 0
    For x = 2 To lRij
        If Tel + Range("A" & x) <= 26 Then
            Tel = Tel + Range("A" & x)
        Else
            Rij = Rij + 1
            Range("B" & Rij) = Tel
            Tel = Range("A" & x)
        End If
    Next x
    Rij = Rij + 1
    Range("B" & Rij) = Tel
End Sub
Daarvoor moet je wel een nieuwe module in VBA maken.
Neem daarna een knop op op je formulier en laat deze naar deze module verwijzen.

Succes
Wim
 
Ik ben een ramp in VBA :o
Ook heb ik gemerkt dat het hier wat beveiligings problemen met zich mee brengt.

Zijn er geen formules voor, omdat ik het allemaal zo eenvoudig mogelijk moet maken en dus niet extra knoppen in moet drukken.

Alvast heel erg bedankt en sorry dat ik zo moelijk doe.
 
Laatst bewerkt:
Ik ben een ramp in VBA :o

Zijn er geen formules voor, omdat ik het allemaal zo eenvoudig mogelijk moet maken en dus niet extra knoppen in moet drukken.

Alvast heel erg bedankt en sorry dat ik zo moelijk doe.

Je doet niet moeilijk, wij zijn er juist voor om je te helpen.
Maar helaas denk ik is er geen andere oplossing dan met VBA werken.
Je hebt een paar afhankelijkheden die niet in een formule zijn te vangen.

Ik heb even een voorbeeldje bijgevoegd, dan hoef je zelf niet zo heel veel meer te doen.
Je kunt VBA oproepen met Alt-F11 en dan de module openen.

Succes.

Wim
 

Bijlagen

Heel erg bedankt, maar wat ik er mee van plan was dat kan ik er nu niet echt mee, omdat ik niet juist weet hoe ik het aan kan passen.


de bedoeling was om zo te bekijken hoeveel tabellen er op 1 pagina konden om af te drukken (afdrukbereik bepalen), zie voor meer duidelijkheid in de bijlagen. In kolom H staat het getal 47, maar die is afhankelijk van de hoogte van zo'n tabel. Ik dacht als ik die kan optellen tot 52 (maximale hoogte om op 1 blad te printen) dan zal het mij wel lukken.

Alvast heel erg bedankt.
 

Bijlagen

Na lang zoeken heb ik uiteindelijk een manier gevonden, niet makkelijk maar wel bruikbaar.

ik kopiëer de hoogtes (47 op het eerste blad) naar een volgend blad en alles onder elkaar in kolom A
in kolom B zet ik de volgende matrix formule.
Code:
=ALS($B27:$B46>52;$B27:$B46;ALS(($B27:$B46+$B28:$B46)>52;$B27:$B46;ALS(($B27:$B46+$B28:$B46+$B29:$B46)>52;$B27:$B46+$B28:$B46;ALS(($B27:$B46+$B28:$B46+$B29:$B46+$B30:$B46)>52;$B27:$B46+$B28:$B46+$B29:$B46;$B27:$B46))))
en in kolom C zet ik volgende formule
Code:
=ALS((B27+D28)<52;0;D28)
op die manier heb ik alles, zit ik alleen nog met 0 waardes, maar dat is op te lossen.

Nu heb ik nog wel een volgende vraag:
Hoe kan ik meerdere afdrukbereiken dynamisch bepalen, 1 afdruk bereik kan ik dynamisch bepalen m.b.v. verschuiving, maar ik heb tussen de 1 en de 20 bereiken nodig.
 
Laatst bewerkt:
Nu heb ik nog wel een volgende vraag:
Hoe kan ik meerdere afdrukbereiken dynamisch bepalen, 1 afdruk bereik kan ik dynamisch bepalen m.b.v. verschuiving, maar ik heb tussen de 1 en de 20 bereiken nodig.
Richee,

WIl je hiervoor een neiuw vraag op het forum zetten.
En deze dan als opgelost zetten.
Op deze manier kan niemand het meer volgen.
Je kan wel een link naar deze vraag in je nieuwe vraag opnemen.

Bedankt

Wim
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan