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 een drietal functies is dat wél mogelijk. Om in een cel van een werkblad de werkbladnaam weer te geven, kan de volgende functie gebruikt worden:
=DEEL(CEL("bestandsnaam";A1);VIND.SPEC("]";CEL("bestandsnaam";A1);1)+1;99)
Deze functie geeft overigens een foutmelding als het bestand nog niet is opgeslagen en dan dus geen bestandsnaam heeft.
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.
Met de functie VIND.SPEC wordt de positie van de sluitblokhaak bepaald, waarna met de functie DEEL de tekst wordt weergegeven vanaf deze positie plus 1 tot en met het eind. In feite wordt de tekst weergegeven met een maximale lengte van 99, maar aangezien een werkbladnaam in Excel maar uit maximaal 31 karakters mag bestaan, is dat ruim voldoende.
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.
Alvast bedankt.
Martijn
Ik wil graag dat de tabblad titel gelijk is aan een cel in mijn werkmap.
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