Naam alle Worksheets tot sheet

Status
Niet open voor verdere reacties.

maartenmars

Gebruiker
Lid geworden
29 apr 2008
Berichten
75
Ik zoek een macro die elke sheet langs gaat (aantal sheets is variabel), elke sheet naar de cel C8 noemt in de betreffende cel, maar wanneer hij bij de sheet "comments" is, moet hij stoppen. Die sheet moet hij ook niet meer hernoemen. Iemand enig idee hoe dit kan?
 
Code:
Dim sh As Object

For Each sh In Sheets
    If sh.Name <> "comments" Then
        sh.Name = sh.[c8]
    Else
        Exit For
    End If
Next sh
 
Sub NameSheets()
Dim sh As Object

For Each sh In Sheets
If sh.Name <> "comments" Then
sh.Name = sh.[c8]
Else
Exit For
End If
Next sh
End Sub

resulteerd in een foutmelding
 
Welke dan? Hij is getest en werkt prima bij mij.

Het enige wat fout kan gaan is als C8 een waarde bevat die illegaal is voor de sheetnaam. Zoals een lege cel, of leestekens die niet in een tabblad mogen. je krijgt dan waarschijnlijk een 1004 error

Zo sla je illegale pagina's over:

Code:
Dim sh As Object

For Each sh In Sheets
    If sh.Name <> "comments" Then
        On Error Resume Next
        sh.Name = sh.[c8]
    Else
        Exit For
    End If
Next sh
 
Laatst bewerkt:
Zou je die dan misschien op kunnen slaan in een excel document, want hij geeft geen foutmelding, maar hij verandert ook geen enkele sheet naam
 
Je zet de code in een aparte module neem ik aan? Ik wil het graag omdraaien, misschien kun je een klein voorbeeldje toevoegen? Ik heb het zojuist nogmaals getest en zolang "C8" gevuld is met een legale naam wordt de macro correct uitgevoerd (excel 2007)
 
De sheet heet "Comments" niet "comments". Daar gaat het fout :P

Hoofdlettertje is in dit geval wel belangrijk
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan