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

nummering Excel tabbladen d.m.v. makro aanpassen

Status
Niet open voor verdere reacties.

jagea

Gebruiker
Lid geworden
11 aug 2008
Berichten
48
Mijn werkmap heeft een groot aantal werkbladen, die genummerd zijn. Nu moeten de nummers van de meeste werkbladen met 1 opgehoogd worden.
2014 moet dus 2015 worden, 2016b moet 2017b worden.

Valt hier een makro voor te bedenken?

Al vast bedankt,

Age
 
Code:
Sub verandernaam()
For i = Sheets.Count To 1 Step -1
Sheets(i).Name = Replace(Sheets(i).Name, Left(Sheets(i).Name, 4), Left(Sheets(i).Name, 4) + 1)
Next
End Sub

Niels
 
Niels bedankt!

Helaas werkt het niet in Excel 2007.

VBA geeft een foutcode 13. Typen komen niet met elkaar overeen. Foutopsporing geeft aan dat 'Sheets(i).Name = Replace(Sheets(i).Name, Left(Sheets(i).Name, 4), Left(Sheets(i).Name, 4) + 1)' geel gekleurd is. Moet i misschien nog gedeclareerd worden?

Ik begrijp 'For i = Sheets.Count To 1 Step -1' niet. Het is de bedoeling dat alleen de ActiveSheet wordt aangepast, dus niet alle sheets.

Tot slot de vraag of het ook mogelijk is dat met de code 2019 wordt gewijzigd in 2020.

Age
 
Laatst bewerkt:
Je zult duidelijk moet zijn, ik heb geen zin om steeds mijn antwoord aan te moeten passen omdat je er iets nieuws bij verzint.


Helaas werkt het niet in Excel 2007.
vreemd ik heb 2007 en het werkt gewoon. Als je tabbladnamen niet zoals je voorbeeld zijn werkt het niet.
zet boven aan eens
Code:
on error resume next

.....groot aantal werkbladen.....
waar staat dat dan dat het alleen bij het actieve werkblad moet gebeuren?


Tot slot de vraag of het ook mogelijk is dat met de code 2019 wordt gewijzigd in 2020.
Dit is toch je gehele vraag uit de startpost?

Niels
 
Laatst bewerkt:
Niels,

Met 'on error resume next' bovenaan werkt het wel. Komt doordat er een paar sheets zijn met een ander soort naam. Ook 2019 wijzigen in 2020 werkt prima (ik dacht uit je code te begrijpen dat alleen het 4e cijfer wordt opgehoogd)

In mijn verzoek had ik wel vermeld dat bij de meeste (dus niet alle) sheets de nummering moet worden gewijzigd, maar kennelijk was ik daarin niet duidelijk genoeg.

Sorry daarvoor.

Hopelijk wil je me toch nog even verder helpen zodat ik zelf kan kiezen bij welke sheets het nummer wordt verhoogd. Het handigst lijkt me als de code alleen werkt voor de ActiveSheet.

Al vast bedankt,

Age
 
Het ging mij erom dat je aan gaf "meerdere sheets" en niet vermeld had dat je alleen de actieve sheet wilde veranderen.

Code:
Sub verandernaam()

ActiveSheet.Name = Replace(ActiveSheet.Name, Left(ActiveSheet.Name, 4), Left(ActiveSheet.Name, 4) + 1)

End Sub


Niels
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan