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

Namen van alle werkbladen omzetten naar naam met begin hoofdletter

Status
Niet open voor verdere reacties.

Gerald Baalhuis

Gebruiker
Lid geworden
14 jan 2006
Berichten
369
In een werkmap heb ik 347 werkbladen. Door een collega zijn deze allemaal hernoemd naar klantnamen ipv Blad1, Blad2 enz.
Nu wilde ik deze werkbladen sorteren van A-Z. De VBA code hiervoor was snel gevonden en deze werkt ook prima.
Alleen is de naamgeving van de werkbladen niet consequent gedaan; sommige werkdladen beginnen keurig met een hoofdletter, andere niet.
Dat gaat bij het sorteren niet goed (eerst A-Z, dan a-z).
Is hier een stukje code voor te schrijven?

Gerald
 
Beste Gerald Baalhuis ;)

Gebruik de volgende code:

Code:
Sub SortSheets()
   Application.ScreenUpdating = False
   Dim I As Integer, J As Integer

   For I = 1 To Sheets.Count - 1  'Aantal tabbladen die aanwezig zijn / Pak 1 tabblad 
      For J = I + 1 To Sheets.Count ' Pak 1 tabblad verder
         If UCase(Sheets(I).Name) > UCase(Sheets(J).Name) Then 'Als tablad 1 groter in alfabet is dan tabblad 2
            Sheets(J).Move Before:=Sheets(I) 'wissel deze om
         End If
     Next J
  Next I
End Sub

Deze code sorteert afabetisch zonder onderscheid te maken van hoofdletters.

Groetjes danny. :thumb:
 
Danny,

Werkt als een tierelier! :thumb: Bedankt voor je supersnelle reactie en een prettig weekend.

Groetjes,

Gerald
 
Beste Gerald Baalhuis ;)

Graag gedaan.

Ook een prettig weekend toegewenst :D

Groetjes Danny. :thumb:
 
Nu wilde ik deze werkbladen sorteren van A-Z. De VBA code hiervoor was snel gevonden en deze werkt ook prima. Alleen is de naamgeving van de werkbladen niet consequent gedaan; sommige werkdladen beginnen keurig met een hoofdletter, andere niet. Dat gaat bij het sorteren niet goed (eerst A-Z, dan a-z).
Als de naamgeving niet consequent is, dan zou ik die eerst consequent maken door alle bladnamen met een hoofdletter te laten beginnen. Onderstaande macro doet dat.
Het oogt wat fraaier (al is dat waarschijnlijk niet zo belangrijk voor je), en het sorteren is dan daarna ook geen probleem.
Code:
Sub macro1()
For x = 1 To Worksheets.Count
With Sheets(x)
.Name = UCase(Left(.Name, 1)) & Right(.Name, Len(.Name) - 1)
End With
Next x
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan