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

Meedere tabbladnamen automatisch aanpassen vanuit bepaalde cel

Status
Niet open voor verdere reacties.

TheStormhunter

Gebruiker
Lid geworden
23 mei 2021
Berichten
6
Hoi Allemaal,

Ik ben begonnen met het ontdekken van Macro's maar ik begrijp er helaas nog niet veel van :D. Na het bekijken van diverse site's en filmpjes is het gedeeltelijk gelukt maar ik heb nog een beetje hulp nodig.
Ik wil graag van 23 van de 25 tabbladen de naam automatisch laten aanpassen en van de andere 2 niet. Liefst met 1 klik op de knop, en als het mogelijk mocht zijn zelfs graag zonder klik op een knop.
Ik heb momenteel een marco ingevoerd, hij past hierdoor echter alleen de tabbladnaam van het tabblad aan waarin ik aan het werken ben. Ik heb momenteel de volgende marco ingevoerd:

Sub myTabName()
ActiveSheet.Name = ActiveSheet.Range("N14")
End Sub

Wie zou mij kunnen helpen?

Alvast bedankt!

Niek
 
Welke tabbladen moeten dan niet van naam veranderd worden?
Wat moet de naam worden van de tabbladen? Even een voorbeeldbestandje plaatsen is wel handig:)
 
Ik zie nog steeds niet hoe je de namen wilt gaan toewijzen.
Verander de naam van de sheet als je hem wilt veranderen, anders laat je kolom 2 leeg.

Druk maar eens op de knop
 

Bijlagen

Zo wordt er ook eerst nog gekeken of de naam al bestaat

Code:
Sub j()
 jv = Sheets(1).Cells(4, 1).CurrentRegion
  For i = 2 To UBound(jv)
    If jv(i, 2) <> "" And IsError(Evaluate("'" & jv(i, 2) & "'!A1")) Then Sheets(i).Name = jv(i, 2)
  Next
End Sub
 
Niet helemaal wat ik bedoel, maar wel al een stap in de goede richting

Gaat de goede kant op Jveer!,

Enige punt wat er nog rest is dat ik bij naam 1, naam 2, naam 3, naam 4 en naam 5 de namen in wil vullen welke de tabbladnamen dienen te worden i.p.v. de vakken die in jou versie gekoppeld zijn.

Niek
 
Ik zie even niet hoe je dan de link wil leggen met al bestaande tabblad namen.

Gokje dan maar, zet deze macro in jouw voorbeeldbestand

Code:
Sub j()
 jv = Sheets(1).Cells(4, 1).CurrentRegion
  For i = 2 To UBound(jv, 2)
    If jv(1, i) <> "" And IsError(Evaluate("'" & jv(1, i) & "'!A1")) Then Sheets(i).Name = jv(1, i)
  Next
End Sub
 
Laatst bewerkt:
Helaas

Hoi JVeer,

Ik krijg helaas een foutmelding:

De Macro Voorbeeldbestand1.xlsm!myTabName kan niet worden uitgevoerd. De macro is wellicht niet beschikbaar in dit werkblad of alle macro's zijn mogelijk uitgeschakeld.
De macro's staan zeker aan dus denk dat het ergens anders zit.

Niek
 
Je moet hem even achter een module zetten van het juiste bestand. Even afsluiten en opnieuw openen wil ook wel eens werken
 
Foutmelding

Hoi JVeer,

Ik krijg in het bestand waar ik het in wil gaan gebruiken een melding dat het bereik niet juist is. Ik heb een afbeelding hiervan toegevoegd. Bedoeling is dat de cellen C4 t/m BX4 van het 1e tabblad als tabbladnamen gebruikt gaan worden. Verder is het de bedoeling dat hij deze gaat gebruiken vanaf het 16e tabblad en dat de 1e 15 voor verschillende data is waarbij deze tabbladnaam niet mag veranderen.
Is dit te doen? Begrijp zelf namelijk niets van de code's die u gebruikt.

Nogmaals dank voor de hulp en vooral het geduld met mij :D.
 

Bijlagen

  • Foutmelding.JPG
    Foutmelding.JPG
    20,7 KB · Weergaven: 21
Laatst bewerkt:
Ik heb het voorbeeldbestand even aangepast naar wat ik graag zou willen, misschien dat het dat makkelijker voor jullie maakt om te helpen.

Bedoeling is dat de cellen C4 t/m BX4 van het 1e tabblad als tabbladnamen gebruikt gaan worden (Tabblad: Datablad-duur-uren-tevredenheid). Verder is het de bedoeling dat hij deze gaat gebruiken vanaf het 16e tabblad en dat de 1e 15 voor verschillende data is waarbij deze tabbladnaam niet mag veranderen.

Alvast bedankt!

Niek
 

Bijlagen

Mij lijkt het gebruik van VBA dan nog een stapje te ver. Een werkboek met ± 75 tabjes lijkt mij ook niet zo'n beste opzet. Je kan beter een representatief voorbeeld plaatsen dan komen er vast hele andere ideeën over hoe je Excel kan gebruiken.

Code:
jv = Sheets(1).range(C4:BX4)
  For i = 15 To UBound(jv, 2)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan