• 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 cel in meerdere variabele tabbladen

  • Onderwerp starter Onderwerp starter ro2b
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

ro2b

Gebruiker
Lid geworden
6 sep 2008
Berichten
57
Hoi,

Ik wil een cel optellen in meerdere (oplopende) tabbladen.
De tabbladen zijn opeenvolgend genummerd: proloog, etappe1, etappe2, etappe3 t/m etappe21.

per rij moet er per tabblad een subtotaal opgeteld worden.
Dus op tabblad etappe2 moet het subtotaal van proloog t/m etappe2 opgeteld worden.
Ik gebruik nu:
Code:
=SOM(proloog:etappe1!N6)
om de totalen van N6 te tellen.

Ik wil nu het tabblad (in dit geval etappe1) variabel maken met een indirect en vert.zoeken (in een matrix waar de etappe gezocht wordt) maar krijg het niet voor elkaar. De N6 veranderd niet als ik het doorvoer naar andere rijen.
Code:
=INDIRECT(VERT.ZOEKEN($B$1;Prijzengeld!$P$4:$Q$25;2)&"!"&N6)
Dus proberen met een verschuiving:
Code:
=INDIRECT(VERT.ZOEKEN($B$1;Prijzengeld!$P$4:$Q$25;2)&"!"&VERSCHUIVING($N$6;0;0;1);1)
Ik krijg nu een
Code:
#VERW!
Dit trekt hij (en ik) niet meer :confused:.

Wie weet een oplossing?
 
Een heleboel helpers hier.

Dus plaats maar even jouw bestandje.:d
 
Ik wil graag een bestand uploaden maar ik krijg het niet onder de 100kb ;-( Zelfs niet met zip.

Hoe krijg ik het hier geplaatst?
 
Wellicht lukt het zo (WeTransfer): http://we.tl/B8DseV2wyu

In kolom L van alle tabbladen van de etappes moet dus een SOM komen van telkens de proloog tot en met het betreffende tabblad.
 
Laatst bewerkt:
Nu maar met een aanpassing echter ook dit zonder resultaat behalve #WAARDE!

Code:
=SOM(proloog!N6:VERSCHUIVING(INDIRECT(VERT.ZOEKEN($B$1;Prijzengeld!$P$4:$Q$25;2)&"!N6");0;0;;))

Wie heeft de oplossing (eventueel in VBA) :thumb:
 
Misschien zo:

Code:
=INDIRECT(VERT.ZOEKEN($B$1;Prijzengeld!$P$4:$Q$25;2)&"!N"&RIJ())
 
Ja, dit is prima.

Maar nu wil ik van deze waarde de som vanaf tab proloog tot en met het betreffende tabblad. Dus bij etappe 2: de som van de waardes in N van proloog t/m etappe 2 etc.

Bijvoorbeeld:
Code:
=SOM(proloog:INDIRECT(VERT.ZOEKEN($B$1;Prijzengeld!$P$4:$Q$25;2)&"!N"&RIJ()))
Alleen een functie ipv het te zoeken tabblad kan dus niet.
 
Ik snap wat je bedoelt.
Probeer het eens met deze UDF:
Code:
Public Function Optellen(ShtNr As Long, Cl As Range) As Double
    Dim i As Long
    
    Optellen = Sheets("Proloog").Range(Cl.Address)
    For i = 1 To ShtNr
        Optellen = Optellen + Sheets("etappe" & i).Range(Cl.Address)
    Next
End Function
 

Bijlagen

Nee, nog niet helemaal, maar het gaat denk ik wel de goede kant op.

De doortelling gaat nog niet goed.
proloog = 0 dus waarde in cel L6 = 0
etappe1 = -300 dus waarde in cel L6 = -300
etappe2 = 786 dus waarde in cel L6 = 486
etappe3 = 162 dus waarde in cel L6 = 648
etc.

Ik zie niet waar de fout zit ;-(
 
Bekijk ook deze niet-VBA aanpak eens (op sheet "etappe2" en "etappe3" toegepast zie gele gebied)
 

Bijlagen

Dank voor deze uitgebreide Functieformule. Hij werkt perfect maar de VBA heeft wel mijn voorkeur.
 
Ik snap wat je bedoelt.
Probeer het eens met deze UDF:
Code:
Public Function Optellen(ShtNr As Long, Cl As Range) As Double
    Dim i As Long
    
    Optellen = Sheets("Proloog").Range(Cl.Address)
    For i = 1 To ShtNr
        Optellen = Optellen + Sheets("etappe" & i).Range(Cl.Address)
    Next
End Function

Hij werkt perfect maar als ik het bestand opstart dan rekent hij het niet gelijk door. Ik moet eerst de cel B1 een keer wijzigen dan pas lukt het. Is dit te veranderen?
 
Probeer eens of dit het euvel oplost:

Code:
Public Function Optellen(ByVal ShtNr As Long, ByVal Cl As Range) As Double
    Dim i As Long
    
    Application.Volatile
    Optellen = Sheets("Proloog").Range(Cl.Address)
    For i = 1 To ShtNr
        Optellen = Optellen + Sheets("etappe" & i).Range(Cl.Address)
    Next
End Function
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan