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

Werkblad naam adhv celverwijzing

Status
Niet open voor verdere reacties.

Teebee

Gebruiker
Lid geworden
8 jan 2006
Berichten
157
Is het mogelijk om een werkblad de naam te geven die verwijst naar een bepaalde cel ?
bv Cel B26 staat : Jan Jansen zodat het werkblad ofwel Jan Jansen of enkel de voornaam Jan wordt.

WORKBOOK MODULE
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$A$1" Then Sh.Name = Target
End Sub


Ergens had ik dit gevonden, doch werkt volgens mij niet.
 
Laatst bewerkt:
Is het mogelijk om een werkblad de naam te geven die verwijst naar een bepaalde cel ?
bv Cel B26 staat : Jan Jansen zodat het werkblad ofwel Jan Jansen of enkel de voornaam Jan wordt.

WORKBOOK MODULE
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$A$1" Then Sh.Name = Target
End Sub

Ergens had ik dit gevonden, doch werkt volgens mij niet.

Dit zal toch moeten werken hoor...
 
Om de waarde van een cel als naam van een werkblad door te geven heb je meerdere mogelijkheden :

De waarde van een veld in het ene blad wijzigt de naam van een ander werkblad.
Code:
Worksheets("Blad2").Name = Worksheets("Hans").Range("A1:A1")

Een vast veld geeft de waarde door als naam van het huidige werkblad.
Code:
ActiveSheet.Name = ActiveSheet.Range("A1:A1")

Het veld waar je op staat geeft de waarde door als naam van het huidige werkblad.
Code:
ActiveSheet.Name = ActiveCell.Value

... en zo zijn er nog wel een aantal combinaties te bedenken met deze code !
 
Als ik die eerste code van mij ingeef, en ik verander Cel A1 krijg ik een compileerfout: Ongeldig buiten procedure.

heb wel de code in ThisWorkbook geplaatst.

WORKBOOK MODULE
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$A$1" Then Sh.Name = Target
End Sub
 
Ik weet niet wat jij fout doet, maar als ik die code plak in ThisWorkbook dan werkt het naar behoren.

Probeer eens met een nieuw leeg bestandje.
 
Met een leeg bestand lukt het wel.
Als ik de mijne wil gebruiken doet ie het niet.

Krijg ook een melding van een macro, maar ik krijg die met de beste wil van de wereld niet meer tevoorschijn. Heb die volgens mij ooit eens verborgen gemaakt.
 

Bijlagen

Laatst bewerkt:
Ik open je bijgevoegde bestand, als alleen-lezen, ga naar B26, typ een paar letters, druk op Enter, en de bladnaam wijzigt...
 
ik heb ook zoiets gedaan, maar ik heb het op deze manier gedaan:
Code:
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count), Type:= _
        "d:\Documents and Settings\peelerx\Application Data\Microsoft\Templates\Audit status.xlt"

    ActiveSheet.Select
    ActiveSheet.Name = "Audit status " & dAuditNummer & ""

hierbij is er in de macro een sheet toegevoegd adhv een template die ik heb gemaakt. en van te voren heb ik die cel waar bij jou bijv jansen in staat in de variabele dAuditNummer gezet.
Ik hoop dat ik je hier iets mee kan helpen:)
 
Ah, nu zie ik het probleem.
Het probleem doet zich voor op blad1 en eventueel nieuwe bladen. Ik verander in Cel A26 de waarde, en dan zou de sheetname datgene wat in B26 staat moeten nemen als naam. Nu blijkt het idd te werken als ik op B262 ga staan en op Enter druk. Heb het nu verandert in :

If Target.Address = "$A$26" Then Sh.Name = Range("B26").Value

Kan ik van die Range("B26").Value ook enkel de voornaam kiezen ?
 
Hoe dat precies werkt weet ik niet, maar ik weet wel dat dat hier op het forum uitgelegd staat. Moet je zoeken naar tekst splitsen oid.
 
=LINKS(B26;VIND.ALLES(" ";B26)-1) kan ik eventueel ook gaan gebruiken, maar dacht dat het misschien gemakkelijker is/was in VBA.
 
Korter dan dit kan niet:

Code:
Split(Range("B26"))(0)

Deze code ligt in het verlengde van de formules die ik gisteren op het net gezwierd heb; zie: mijn site, dan Excel, dan Voorbeeldbestanden, dan "Tekst en zoeken".

Wigi
 
Niet meer dan dit:

Code:
If Target.Address = "$A$26" Then Sh.Name = Split(Range("B26"))(0)

Wigi
 
Nog snel een vraagje: Telkens ik dit bestand opendoe krijg ik de vraag om de Macro te enablen.
Kan iemand mij zeggen hoe ik die Macro terug tevoorschijn kan halen, want ik vind hem nergens terug.
 
Alt-F11. In de Project Explorer, zoek je bestandsnaam. Dubbelklik erop. Ga elk van de bladen en modules daar langs om te zien wat er allemaal staat.
 
Verlengde

Is het in iets dergelijks ook mogelijk om bij het kopieren van een werkblad een telnummer te gebruiken in plaats van de gebruikelijke " (2)"

Hoop dat iemand nog reageert op deze oude topic

Bvd
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan