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

Opvolgend Sheet naam ophalen

Status
Niet open voor verdere reacties.

Roboman

Gebruiker
Lid geworden
5 jun 2014
Berichten
48
Beste Helpers,

Voor een toepassing in een workbook (ik werk met Engelse office) wil ik de TAB tekst van het opvolgende sheet ophalen.
De sheet tabs hebben het Jaar als naam en ik had er een eenvoudige oplossing voor om de naam van het opvolgende sheet te maken door =(YEAR(NOW())+1) in een cell te zetten en die berekende waarde voor de verdere verwerking te gebruiken.

Nu heb ik het mezelf moeilijk gemaakt omdat ik midden in het jaar een overzicht moet maken en de Tab naam 'MY 2016" (Mid Year 2016) moet zijn. Hierdoor gaat mijn berekende Tab naam in de fout door de toevoeging "MY ". (ik heb een plaatje toegevoegd met de tabs.) De sheets zijn op jaar gesorteerd dus zou mijn probleem opgelost zijn als ik een manier zou hebben om de Naam van het volgende sheet zou kunnen ophalen, zonder berekening.
Als extra complexiteit zal het volgende sheet na "MY 2016" weer gewoon "2017" heten. Daardoor kan ik geen variabele samen stellen door b.v. (in cell CN4 heb ik het jaar staan) en dan een samen voeging te bouwen door ="MY "&CN4&"" in een cel te plaatsen en dat als variabele te gebruiken voor het volgende sheet.

Weet iemand raad?

Sheet voorbeeld.JPG

vast mijn dank voor het meedenken

Met vriendelijk groet,
Roboman
 
Sowieso gaat de referentie op een gegeven moment fout. Want wat als je terug gaat kijken in het jaar 2017. Dan is YEAR(NOW()) = 2017, dus dan wordt naar een verkeerd tabblad gewezen.

Ik ben zo vrij geweest om iets in elkaar te draaien ... Ik ga er hierbij van uit dat alle sheets een naam hebben die of een jaartal bevatten of "MY " en een jaartal en dat deze altijd in volgorde zijn (dus 2015, MY 2015, 2016, MY 2016, etc.) en dat het jaartal in CN4 staat. In de cel waar deze formule staat heb je dan een referentie naar het volgende tabblad:
Code:
=IF(ISERROR(VALUE(MID(CELL("filename";A1);FIND("]";CELL("filename";A1))+1;255)));TEXT(CN4+1;"0000");"MY " & CN4)

Met een voorbeeldbestand is dit allicht nog te finetunen/ verbeteren ...
 
Opgelost,

Beste Helpers,

Zoals altijd ligt de oplossing voor ieder probleem om de hoek. Het is alleen de truc om de juiste hoek te vinden.
De oplossing van Peter B is een hele slimme die ik ook opgeslagen heb voor als ik het later nog es nodig heb.
Mijn oplossing heb ik gevonden door dat ik in het sheet een "#REF" error melding kreeg op het moment dat het "MY YYYY" sheet gekozen was. Ik heb nu alle queries met een IFERROR omgebouwd zodat het ene deel van de query naar "YYYY" zoekt, maar als de "#REF" error opkomt, de query naar "MY YYYY" kijkt, waarbij ik in een extra CELL (CO4) de conventie "MY YYYY" bouw (="MY "&CL4&"")
Het is wel wat werk om alles om te zetten, het komt 23 keer voor, maar het is eenmalig omdat het sheet wel een paar jaar dienst gaat doen.

Dit is de formule
=IFERROR(IF($A$7="Sheet Sychronization ON",VLOOKUP(INDIRECT("'"&CN$4&"'!$A$5"),Data,4,0), IF(ISBLANK($A$5)=TRUE, 0, VLOOKUP($A$5, Data,4,0))), IF($A$7="Sheet Sychronization ON",VLOOKUP(INDIRECT("'"&CO$4&"'!$A$5"),Data,4,0), IF(ISBLANK($A$5)=TRUE, 0, VLOOKUP($A$5, Data,4,0))))

De "Sheet sync" heb ik voor het volgende.
In het workbook zit een standaard brief waarin een overzicht gegeven wordt over de laatste 3 jaar (uit aparte 3 sheets dus). In die brief gebruik ik VLOOKUP en INDIRECT om de data op te halen. maar om nu te zorgen dat er op ieder sheet naar de juiste waarde gezocht wordt is het nodig om per sheet een manier te hebben zodat het ook inderdaad juist gebeurt. Op ieder sheet heb ik een in-cell dropdown met de keuze "Current Sheet" of "Sheet Sync. ON". Ik hoef dus alleen te zorgen dat alle voorgaande sheets op "ON" staan.

allemaal weer bedankt voor jullie kennis en inzichten en aangeboden hulp.

met vriendelijke groet
Rob
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan