wijzig taal:

In Excel kan het handig zijn om de werkbladnaam weer te geven in een cel van dat werkblad. Bijvoorbeeld om in de eerste regel van een werkblad deze naam te kunnen gebruiken als titel van dat werkblad. Standaard heeft Excel geen functie om de naam van een werkblad in een cel te zetten, maar met een slimme combinatie van functies is dat wél mogelijk.

Bij zoeken op internet worden meestal de volgende 2 functies weergegeven die daarvoor gebruikt kunnen worden:

=DEEL(CEL("bestandsnaam";A1);VIND.SPEC("]";CEL("bestandsnaam";A1);1)+1;99)

en

=TEKST.NA(CEL("bestandsnaam";A1);"]")

waarbij de laatste functie alleen geschikt is voor Excel 365.

In de praktijk kunnen deze functies echter foute uitkomsten geven. Dit gebeurt als 1 of meer blokhaken voorkomen in de padnaam van de bestandslocatie. Blokhaken zijn namelijk gewoon toegestaan in een foldernaam en ook bij bestanden op sharepoint kan dit voorkomen.

Daarom is het beter om de volgende functie te gebruiken die in deze gevallen wél goede uitkomsten geeft:

=SUBSTITUEREN(RECHTS(SUBSTITUEREN(CEL("bestandsnaam";A1);"]";HERHALING("]";99));99);"]";"")

Deze functie geeft overigens een foutmelding als het bestand nog niet is opgeslagen en dan dus geen bestandsnaam heeft en deze functie werkt niet in de online versie van Excel.

Korte uitleg

Met de functie CEL("bestandsnaam";A1) wordt het volledige pad met de bestandsnaam inclusief de werkbladnaam weergeven. De naam van het bestand wordt hierbij weergegeven tussen blokhaken, waarna direct de werkbladnaam volgt.

Daarna wordt met de functies SUBSTITUEREN en HERHALING elke blokhaak vervangen door 99 blokhaken, waarna vervolgens met RECHTS de laatste 99 karakters worden opgehaald. Dit is dan een string die bestaat uit een groot aantal blokhaken gevolgd door de werkbladnaam.

Tenslotte worden de overgebleven blokhaken met SUBSTITUEREN weer verwijderd en blijft alleen de werkbladnaam over.

Omdat een werbladnaam nooit langer mag zijn dan 31 karakters en omdat in een werkbladnaam geen blokhaak mag voorkomen, gaat dit altijd goed.

Er moet een celverwijzing toegevoegd worden aan de CEL-functie (in dit geval A1, maar dat mag ook een andere cel zijn) om daarmee zeker te stellen dat de bladnaam van het huidige werkblad wordt getoond. Als geen celverwijzing is opgenomen wordt de bladnaam van de laatst gewijzigde cel getoond en dat kan een cel zijn op een ander werkblad.

Als de functie op een Nederlandstalige versie wordt ingevoerd en daarna dit bestand wordt geopend in een versie van een andere taal, dan zal deze functie een foutmelding geven omdat 'bestandsnaam' niet wordt vertaald. Om dat te voorkomen kan beter in plaats van 'bestandsnaam' voor 'filename' gekozen worden. Hoewel deze optie niet gekozen kan worden in het keuzemenu dat verschijnt wanneer de CEL-functie wordt ingevoerd, kan dit wel gewoon gebruikt worden. De optie met 'filename' werkt namelijk in alle taalversies.

Vragen / suggesties

Hopelijk heeft dit artikel geholpen om de werkbladnaam in een cel zichtbaar te maken. Als er verdere vragen over dit onderwerp zijn of suggesties voor verbetering, plaats dan een reactie hieronder.

Reacties  
# Mariej agt 09-10-2021 07:48
Kan dit werken in de online versie excel bij office 365? Via macro?
Antwoorden
# Manfred van den Noort 09-10-2021 10:37
Nee, dit werkt niet in de online versie van Excel. De CEL-functie op zich is daar wel beschikbaar, maar de optie met filename niet. Ook VBA macro's werken niet in Excel online. Wellicht dat het kan met de Office Script API (Javascript), maar daar heb ik verder niet naar gekeken.
Antwoorden
# Martijn 26-03-2021 11:24
Is er ook een functie om alle tabblad namen te verzamelen ? Deze functie werkt wel, maar dan moet ik die op elk tabblad zetten.

Alvast bedankt.

Martijn
Antwoorden
# Manfred van den Noort 26-03-2021 11:51
Als je aan de A1 verwijzingen in de formule de werkbladnaam toevoegt (dus 'werkblad naam'!A1) dan wordt de naam van het betreffende werkblad weergegeven. Op die manier zou je alle namen van werkbladen onder elkaar kunnen zetten.
Antwoorden
# Roselinde 07-08-2023 10:29
Kan het ook andersom?
Ik wil graag dat de tabblad titel gelijk is aan een cel in mijn werkmap.
Antwoorden
# Manfred van den Noort 07-08-2023 16:19
Andersom kan alleen met VBA.
Je kunt dan gebruik maken van het change-event van het werkblad.
In de basis ziet de code er dan zo uit:
Private Sub Worksheet_Change(ByVal Target As Range)
Me.Name = Range("A1").Value
End Sub
Antwoorden
arrow_up