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

Tabbladen vernoemen naar cel

Status
Niet open voor verdere reacties.

Werkhoven

Gebruiker
Lid geworden
16 jun 2015
Berichten
10
Beste excellers,

Ik begin net een beetje te proeven van Marcro's.
Het volgende krijg ik niet voor elkaar.

In het bestand in de bijlage zie je drie cellen op tabblad 'projectoverzicht'.
Ik zoek naar een manier waarop de tabbladen (project 1-3) de naam krijgen van cel B 3,4,5.
Men moet dus een projectnaam ingeven waardoor het tabblad dezelfde naam krijgt.

Is dat mogelijk?
Weet iemand hoe?

Gr.

Bas
 

Bijlagen

Simpel macrootje dat je op het eerste werkblad kan zetten:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    With Target
        Select Case .Row
            Case 3, 4, 5
                If .Column = 2 Then Sheets(.Row - 1).Name = Target.Value
        End Select
    End With
End Sub
 
Wauw, jij bent snel, je wilt niet weten hoe lang ik hier al op zit te broeden. Held!
Nog een vraag, in de daadwerkelijke excel (een projectbegroting voor mijn bedrijf) zitten er nog tabbladen achter.
Hierdoor past hij de verkeerde tabbladen van naam aan, kan ik er ook nog voor zorgen dat hij het juiste tabblad van naam veranderd?
 
Nu wordt het wat vervelender... Je kunt, als de volgorde van de tabbladen verder vast ligt, het stukje waarin de sheet wordt gekozen aanpassen naar het juiste indexnummer. Dus als de bladen vanaf plek 4 staan i.p.v. 2, dan maak je er dit van:
Code:
                If .Column = 2 Then Sheets([B][COLOR="#0000FF"].Row + 1[/COLOR][/B]).Name = Target.Value

Als dat niet zo werkt, dan kun je nog een andere macro proberen die controleert op de naam van het werkblad. Maar dat werkt maar één keer correct, omdat deze macro controleert op een cijfer in de naam van het tabblad. En als dat verder niet meer in de naam zit, doet de macro het niet.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim sht As Worksheet
    
    With Target
        Select Case .Row
            Case 3, 4, 5
                If .Column = 2 Then
                    For Each sht In ActiveWorkbook.Sheets
                        If Right(sht.Name, 1) = Target.Row - 2 Then
                            sht.Name = Target.Value
                            Exit For
                        End If
                    Next
                End If
        End Select
    End With
End Sub
 
Hi,

Bedankt voor je uitgebreide tekst.
Optie twee gaat niet werken (namen kunnen aanpassen, macro moet meermaals uitvoerbaar zijn).
Optie 1 is goed, het aantal tabbladen en de plek ervan staan vast.

Maar: ik geloof dat ik boven mijn niveau aan de slag ben! Had namelijk al ergens een macro gevonden om tabbladen voorwaardelijk te tonen. Dat doet hij al, maar dus op de naam van het tabblad. Als ik optie 1 inbouw werkt jouw macro wel, maar die conflicteert logischerwijs met de andere :shocked:

Misschien dat je me (Eventueel tegen betaling? Ik weet niet of je een bedrijf hebt?) kan helpen met dit euveltje? Dan stuur ik je private even het document toe met mijn wens :-)

Iig bedankt voor zover. Ik ben op zoek naar een cursus macro's maken want dit wil ik zelf kunnen :-)

Bas
 
Bas,

Kijk eens bij de vraag - Macro's schrijven - daar staat een link om VBA te leren.
Misschien dat je er wat mee kunt.

Suc6
 
Optie 2 gaat nog wel werken met een aanpassing; in dat geval moet je namelijk de oorspronkelijke naam van het tabblad (i.c. de inhoud van de cel) bewaren voordat je een nieuwe waarde intypt en bevestigt. Daarna kun je dan de naam opzoeken en veranderen.
 
Prima stukjes code van OctaFish, maar ik mis 1 ding. De naam van een tabblad mag maximaal 31 posities zijn. Als je een cel hebt met een inhoud van meer dan 31 posities zal het mis gaan. Daarop moet dus nog even worden gecontroleerd.
 
Het voorbeeldje was sowieso nog niet compleet, want TS wil graag de naam altijd kunnen veranderen, dus daar moet ook nog wat voor gebakken worden. Gelukkig lukt dat bakken op het werk prima. Althans: het onderdeel waarbij het bakmiddel moet smelten :).
 
Het bakken lukt wel met dit weer :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan