Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

tabblad automatisch andere naam geven

2,841 views
Skip to first unread message

Jan

unread,
Aug 31, 2004, 9:17:53 AM8/31/04
to
Ik wil een aantal tabbladen van een werkmap automatisch
een naamgeven die ik wil relateren aan de waarde in een
aantal cellen in een van de werkbladen.
Ik denk dat ik daarvoor een makro kan gebruiken die
reageert op verandering van dat werkblad en heb daarvoor
het onderstaande bedacht.

Private Sub Worksheet_Change(ByVal ??????)

Application.EnableEvents = False
Sheets(1).Name = Range("c2").Value
Sheets(2).Name = Range("d2").Value
Sheets(3).Name = Range("e2").Value
Sheets(4).Name = Range("f3").Value
Sheets(5).Name = Range("g2").Value
Sheets(6).Name = Range("h2").Value
Application.EnableEvents = True
Exit Sub

Kan dat op deze manier of is er een betere? En als het zo
kan, wat moet ik dan aan de makro veranderen?

Alvast hartelijk bedankt.

Jan

Vincent Schoutsen

unread,
Aug 31, 2004, 9:31:34 AM8/31/04
to
Dit is een bestaande routine in ASAP-utillities
menu>Sheets>Change names of selected sheets by selected cell values
http://www.asap-utilities.com

vincent

Jan

unread,
Aug 31, 2004, 9:46:30 AM8/31/04
to
Ik kan in mijn geval geen gebruik maken van de Asap-
utilities, bovendien doet die niet precies wat ik wil.
Kun je me ook verder helpen op de weg die ik ingeslagen
was?

Jan

>.
>

Ingrid Baplue

unread,
Aug 31, 2004, 10:40:46 AM8/31/04
to
Een alternatief:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count = 1 Then
If Not Intersect(Target, Range("C2:H2")) Is Nothing Then
Sheets(Target.Column - 2).Name = Target
End If
End If
End Sub


--
Ingrid Baplue
Excel MVP
http://users.telenet.be/ingrid/excel/

Dit bericht is geplaatst in een nieuwsgroep. Post je evt antwoord of
vervolgvraag graag in de nieuwsgroep a.u.b.

Jan schreef in 368f01c48f5c$ec094450$a301...@phx.gbl

emil

unread,
Aug 31, 2004, 11:32:02 AM8/31/04
to
jan,
hier een probeersel.
je hebt niet aangegeven of de werkbladnamen moeten worden aangepast als er
wijzigingen zijn in alle werkbladen of slechts in een werkblad. vandaar twee
oplossingen:

uitgangspunt is dat voor ieder werkblad een cel met de naam
"blad"+bladnummer aanwezig is. in welk werkblad die cellen staan is niet
belangrijk.

1 - bij iedere wijziging in alle werkbladen worden de bladnamen aangepast.
deze code plaatsen in thisworkbook:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
For Each Sh In Worksheets
Sh.Name = Range("blad" & Sh.Index)
Next
Application.EnableEvents = True
End Sub

2 - als het aanpassen van de werkbladnamen alleen moet plaatsvinden als er
wijzigingen zijn in een van de werkbladen, bijvoorbeeld blad1 zet dan de
volgenden code in blad1() onder microsoft excel -objecten:


Private Sub Worksheet_Change(ByVal Target As Range)

Dim sh As Object
Application.EnableEvents = False
For Each sh In Worksheets
sh.Name = Range("blad" & sh.Index)
Next
Application.EnableEvents = True
End Sub

--
groet, emil

"Jan" <krooshof....@chello.nl> schreef in bericht
news:359d01c48f60$eb547670$a501...@phx.gbl...

0 new messages