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

Opgelost sheetnaam in cel substitueren in formule, teneinde daar data op te halen

Dit topic is als opgelost gemarkeerd

TonBo

Gebruiker
Lid geworden
14 aug 2022
Berichten
14
Ik heb een Excel probleem, waar ik niet aan uit kom....
Ik heb een workbook met diverse worksheets en 1 totaalsheet.
Ik wil vanuit de totaalsheet een cel ophalen uit een andere sheet en daarbij een cel in de totaalsheet gebruiken, die de naam van de betreffende sheet bevat..
Voorbeeld: normaal vanuit de sheet "TOTAL" data ophalen in "sheetA" , uit cel C26: = 'sheetA'!C26. Nu heb ik in sheet "TOTAL" een cel, zeg A12, waarvan de inhoud dus "sheetA" is.
Nu wil ik met die cel, A12, data gaan ophalen in "sheetA", dus met iets van 'A12'!C26 of misschien '"A12"'!C26.
Maar niks werkt......
maw: ik wil de inhoud van een cel substitueren in een formule, om dan naar de sheetnaam -uit de cel dus- te gaan.
Ik zoek hier naar, omdat ik veel sheets heb om in diverse totaal-kolommen te kunnen totaliseren, en niet steeds in alle formules handmatig de sheetverwiizing moet aanpassen.
Kan dit ?
bij voorbaat dank!
 
Heb je al naar de funtie INDIRECT gekeken?
En plaats een voorbeeld document.
 
@edmoor
In bijlage een voorbeeld bestand.
alvast bedankt voor je gewaardeerde hulp!
 

Bijlagen

  • TEST.xlsx
    47,5 KB · Weergaven: 7
Het enige dat ik zo snel kan verzinnen is dit.
Zie cel C3.
 

Bijlagen

  • TEST.xlsm
    55,1 KB · Weergaven: 25
Wat ik zo kan verzinnen?
Een heel andere opzet met b.v. tabellen, power query, draaitabellen o.i.d.

Vraagje. Die tabbladen worden die allemaal handmatig ingevuld?
 
bedankt EDMOOR !
maar helaas werkt het niet bij mij: ik krijg geen waarden retour.
Als ik in jouw formule tussen de laatste -""- het woord "fout" zet, dus: =ALS.FOUT(VanBlad(A3;"D2");"fout") , dan krijg ik idd de waarde "fout" geretourneerd.
Als ik jouw formule kopieer en plak op jouw formule - in dezelfde sheet die je hebt geretourneerd-, dan werkt het ook niet meer.....
Enig idee?
 
Werkt hier prima. in het document dat ik plaatste.
Dus nee, geen idee.
 
Wat ik zo kan verzinnen?
Een heel andere opzet met b.v. tabellen, power query, draaitabellen o.i.d.

Vraagje. Die tabbladen worden die allemaal handmatig ingevuld?
Hoi Peter,
bedankt voor je reactie.
en nee, die tabbladen worden allemaal wekelijks automatisch gevuld vanuit andere bronnen (wel Excel).
vervolgens heeft ieder tabblad totaalregels.
Die totaalregels wil ik dan weer op 1 blad hebben, als gecomprimeerd totaaloverzicht, dus elk tabblad wordt dan 1 regel.
Een simpele "=haal op in NAAMTABBLAD!, locatie M3" werkt, maar ik heb veel tabbladen EN vooral veel kolommen te vullen. Daarom heb ik de naam van elk tabblad in een cel staan in het TOTAAL tabblad, waarmee ik dan de formule wil "voeden"
Maar ik denk dat het gewoon niet mogelijk is.
HERSTEL: de EDMOOR oplossing werkt WEL!

Werkt hier prima. in het document dat ik plaatste.
Dus nee, geen idee.
Dank je!
 
Laatst bewerkt:
@edmoor

sorry, het werkt WEL !
ik zag nu pas, dat er een stukje VBA achter zat, en die had ik niet in mijn document/file.

BEDANKT!
Hoi Edmoor,

het wekt perfect, maar nu doet zich een ander probleem voor:

Ik gebruik nu:
Function VanBlad(Blad As String, Cel As String)
ActiveSheet.Select
Application.Volatile
VanBlad = Sheets(Blad).Range(Cel).Value
End Function

of de select nodig is, weet ik niet.
De volatile wel, anders wordt de totaalsheet niet automatisch bijgewerkt als er wat in een sheet verandert.

In het kort: ik heb een map met ca. 50 workbooks
elk workbook heeft 53 worksheets, met weekdata, en 1 (verzamel) totaalsheet.
De totaalsheet vul ik met de "VanBlad" functie.

Echter, als ik een 2e workbook open en daar data ingeef, verandert OOK de data in het 1e workbook (dat ook nog open is): die wordt overschreven met alle data uit het 2e workbook, waar ik in bezig ben, en dat is niet de bedoeling.....
In andere woorden: hoe maak ik de function, als boven, uniek per workbook?

bij voorbaat dank!

(mijn eerste keer dat ik iets met "function" doe...)
 
Select is niet nodig.
Je functies in iedere workbook een andere naam geven en de formules aanpassen.
Code:
Function VanBlad2(Blad As String, Cel As String)
   Application.Volatile
   VanBlad2 = Sheets(Blad).Range(Cel).Value
End Function
Formule:
Code:
=ALS.FOUT(VanBlad2(A3;"D2");"")
 
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan